En esta página se describen los errores de permisos que pueden surgir al usar Backup para GKE, los aspectos que debes tener en cuenta al realizar la acción y cómo resolver el error.
Error 100010101: no se ha podido crear una copia de seguridad de PersistentVolumeClaim. Falta el enlace de gestión de identidades y accesos del proyecto de inquilino
El error 100010101 se produce cuando se intenta crear una copia de seguridad de un PersistentVolumeClaim
y se produce un fallo debido a que falta un enlace de gestión de identidades y accesos en tu proyecto de arrendatario, lo que provoca que se muestre el mensaje de error Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project.
Backup for GKE crea capturas del disco persistente de tu clúster de GKE. Las capturas se encuentran en tu proyecto, también conocido como proyecto del cliente, y Google Cloud las crea en un proyecto de inquilino que gestiona. Google Cloud El proyecto de arrendatario se encuentra en la organización google.com
y está separado de tu organización.
El agente de servicio del proyecto de inquilino requiere permisos específicos para usar la clave de cifrado gestionada por el cliente (CMEK) que cifra el disco persistente al que hace referencia el PersistentVolumeClaim de tu clúster. Este permiso cifra y descifra los datos de la captura. Si el agente de servicio service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com no tiene el rol roles/cloudkms.cryptoKeyEncrypterDecrypter en la clave CMEK de tu disco, la operación de copia de seguridad fallará.
Para resolver este error, siga estas instrucciones:
Verifica que tienes los permisos de gestión de identidades y accesos suficientes para modificar las políticas de gestión de identidades y accesos de la clave de Cloud Key Management Service en la Google Cloud consola
roles/cloudkms.admino enroles/owner.Busca el agente de servicio de Compute Engine del proyecto de arrendatario con el valor
TENANT_PROJECT_NUMBERdel mensajestatus reasonde la operación de copia de seguridad fallida. Por ejemplo,service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com.Busca la siguiente información de CMEK que se ha usado para tu disco persistente cifrado:
Nombre de la clave: el nombre de la clave de cifrado.
Conjunto de claves: el nombre del conjunto de claves en el que se encuentra tu clave.
Ubicación: la Google Cloud ubicación de la clave. Por ejemplo,
globalous-central1.
Para asignar el rol
roles/cloudkms.cryptoKeyEncrypterDecrypteral agente de servicio de Compute Engine del proyecto de inquilino en tu CMEK, ejecuta el comandogcloud kms keys add-iam-policy-bindingcon la CLI de Google Cloud:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterHaz los cambios siguientes:
KEY_NAME: el nombre de tu clave de cifrado.KEY_RING: el nombre del conjunto de claves.LOCATION: la Google Cloud ubicación de tu clave. Por ejemplo,globalous-central1.TENANT_PROJECT_NUMBER: el número del proyecto de inquilino que has obtenido del mensajestatus reasonde tu operación de copia de seguridad fallida.
Si el comando se ejecuta correctamente, el resultado será similar al siguiente:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterVuelve a probar la operación de copia de seguridad. Si la operación sigue sin completarse, ponte en contacto con el equipo de Asistencia de Google Cloud para obtener más ayuda.
Error 100010104: no se ha podido crear una copia de seguridad de PersistentVolumeClaim. Se ha infringido la restricción de la política de organización al crear la instantánea.
El error 100010104 se produce cuando se intenta crear una copia de seguridad de un PersistentVolumeClaim
y se produce un error debido a una infracción de las restricciones de la política de la organización durante la creación de la instantánea, lo que provoca que se muestre el mensaje de error Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot.
Backup for GKE crea capturas del disco persistente de tu clúster de GKE. Las capturas se encuentran en tu proyecto Google Cloud , también conocido como proyecto de consumidor, y se crean en un proyecto de cliente gestionado por Google Cloud. El proyecto de arrendatario se encuentra en la organización google.com
y está separado de tu organización.
La política de tu organización determina dónde puedes crear recursos de almacenamiento. El error Constraint constraints/compute.storageResourceUseRestrictions violated significa que un recurso o una instantánea infringe la política porque se ha creado en un proyecto de un arrendatario que no forma parte de la estructura organizativa permitida. Como el proyecto de inquilino está dentro de la organización de Google, queda fuera de la política que has definido, lo que provoca que falle la copia de seguridad.
Para resolver este error, siga estas instrucciones:
Busca la política de organización que implementa la restricción
constraints/compute.storageResourceUseRestrictions. Para obtener más información sobre cómo ver las políticas de la organización mediante la consola Google Cloud , consulta Ver políticas de la organización.Modifica la política
constraints/compute.storageResourceUseRestrictionspara incluir la carpeta del proyecto de inquilinofolders/77620796932que usa Backup for GKE en su lista de permitidos.Guarda los cambios en la política después de añadir la carpeta a la lista de permitidas.
Vuelve a probar la operación de copia de seguridad después de que se actualice y se propague la política de la organización, lo que suele tardar unos minutos. La copia de seguridad debe realizarse sin infringir las restricciones de uso de recursos de almacenamiento. Si la operación sigue sin completarse, ponte en contacto con Cloud Customer Care para obtener más ayuda.
Error 100010106: No se ha podido crear una copia de seguridad de PersistentVolumeClaim. Falta un enlace de gestión de identidades y accesos para el agente de servicio de la función de copia de seguridad de GKE
El error 100010106
se produce cuando no se puede crear una copia de seguridad de un PersistentVolumeClaim porque falta
un enlace de gestión de identidades y accesos para tu agente de servicio de Backup for GKE, lo que provoca
un mensaje de error que indica Failed to backup PVC - Missing IAM binding for Backup for GKE service agent.
Backup para GKE requiere permisos para usar la clave de cifrado gestionada por el cliente (CMEK) de tu BackupPlan para cifrar y descifrar volúmenes de discos persistentes. Si el agente de servicio de la función de copia de seguridad de GKE no tiene el rol roles/cloudkms.cryptoKeyEncrypterDecrypter en tu BackupPlan CMEK, las operaciones de copia de seguridad fallarán.
Para resolver este error, siga estas instrucciones:
Identifica el agente de servicio de la función de copia de seguridad de GKE gestionada por Google específico de tu proyecto. Por ejemplo,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com. Puedes encontrar el número de tu proyecto de las siguientes formas:Usa el Google Cloud panel de control del proyecto en la Google Cloud consola.
Ejecuta el comando
gcloud projects describecon Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"Sustituye
PROJECT_IDpor el nombre único de tu proyecto.
Identifica los siguientes detalles de CMEK:
Nombre de la clave: el nombre de la clave de cifrado.
Conjunto de claves: el nombre del conjunto de claves en el que se encuentra tu clave.
Ubicación: la Google Cloud ubicación en la que se encuentra tu
BackupPlanCMEK. Por ejemplo,globalous-central1.
Para conceder al agente de servicio de Backup for GKE el rol
roles/cloudkms.cryptoKeyEncrypterDecrypteren tu CMEK, usa la CLI de Google Cloud para ejecutar el comandogcloud kms keys add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterHaz los cambios siguientes:
KEY_NAME: el nombre de tu clave de cifrado.KEY_RING: el nombre del conjunto de claves.LOCATION: la Google Cloud ubicación de tu clave. Por ejemplo,globalous-central1.PROJECT_NUMBER: tu número de proyecto Google Cloud .
Verifica que tengas los permisos de Gestión de Identidades y Accesos necesarios en la clave de Cloud Key Management Service. Por ejemplo,
roles/cloudkms.adminoroles/owner.Verifica que tienes los permisos concedidos. En la salida del comando
gcloud kms keys add-iam-policy-bindinganterior, busca una entrada similar a la siguiente:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterVuelve a probar la operación de copia de seguridad después de conceder los permisos necesarios. Si la operación no se completa correctamente, ponte en contacto con Cloud Customer Care para obtener más ayuda.
Error 100010107: no se ha podido crear una copia de seguridad de PersistentVolumeClaim. Falta el enlace de gestión de identidades y accesos de la cuenta de servicio del agente (KCP).
El error 100010107
se produce cuando intentas realizar una operación de copia de seguridad de Backup for GKE y el
agente de servicio del clúster de Google Kubernetes Engine no tiene acceso a tu
clave de cifrado gestionada por el cliente (CMEK), lo que da como resultado un mensaje que indica
Failed to backup PVC - Missing IAM binding - agent service account (KCP).
El agente de servicio del clúster de Google Kubernetes Engine, que suele tener el formato service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com,
es esencial para que tu clúster de GKE interactúe con los servicios de Google Cloud. Cuando tu plan de copias de seguridad usa una clave de cifrado gestionada por el cliente (CMEK).
Este agente de servicio necesita permisos para cifrar y descifrar tus datos de copia de seguridad
con tu CMEK. Si falta el rol roles/cloudkms.cryptoKeyEncrypterDecrypter
en tu CMEK, las operaciones de copia de seguridad iniciadas desde el clúster fallarán y se mostrará un error permission denied.
Para solucionar este error, sigue estas instrucciones:
Verifica que tienes los permisos correctos para modificar las políticas de gestión de identidades y accesos en la clave de Cloud Key Management Service. Por ejemplo,
cloudkms.adminoroles/owner.Identifica el agente de servicio del clúster de Google Kubernetes Engine. Este agente de servicio se crea y gestiona automáticamente por Google Cloud para tus clústeres de GKE. Por ejemplo,
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com. Necesitas el número de proyecto para crear la cuenta de servicio completa. Para encontrar el número de tu proyecto, utiliza uno de los siguientes métodos:Usa el Google Cloud panel de control del proyecto en la Google Cloud consola.
Ejecuta el comando
gcloud projects describecon Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"Sustituye
PROJECT_IDpor el ID del proyecto.
Busca la siguiente información de CMEK:
Nombre de la clave: el nombre de la clave de cifrado.
Conjunto de claves: el nombre del conjunto de claves en el que se encuentra tu clave.
Ubicación: la Google Cloud ubicación de la clave. Por ejemplo,
globalous-central1.
Concede el rol
roles/cloudkms.cryptoKeyEncrypterDecryptera nivel de CMEK. El agente de servicio de Google Kubernetes Engine necesita permisos en tu clave de cifrado. Para asignar el rolroles/cloudkms.cryptoKeyEncrypterDecryptera tu CMEK, usa Google Cloud CLI para ejecutar el comandogcloud kms key add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterHaz los cambios siguientes:
KEY_NAME: el nombre de tu clave de cifrado.KEY_RING: el nombre del conjunto de claves.LOCATION: la Google Cloud ubicación de tu clave. Por ejemplo,globalous-central1.PROJECT_NUMBER: el nombre del proyecto.
El resultado debería ser similar al siguiente:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```Vuelve a intentar la operación de Backup for GKE. Si la operación sigue fallando, ponte en contacto con Cloud Customer Care para obtener más ayuda.
Error 100020101: No se ha podido crear una copia de seguridad de PersistentVolumeClaim. PersistentVolumeClaim está vinculado a un tipo de PersistentVolume no admitido.
El error 100020101 se produce cuando se intenta crear una copia de seguridad de un PersistentVolumeClaim
y se produce un error porque el PersistentVolumeClaim está vinculado a un tipo de PersistentVolume no admitido. El error da como resultado el siguiente mensaje:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Este error se produce cuando tu operación de Copia de seguridad de GKE encuentra un PersistentVolumeClaim que está vinculado a un PersistentVolume que usa un tipo de volumen que no es compatible con Copia de seguridad de GKE para las copias de seguridad de datos. La función de copia de seguridad de GKE admite principalmente la creación de copias de seguridad de datos de volúmenes de discos persistentes. Si un PersistentVolumeClaim está enlazado a un PersistentVolume que no es un disco persistente, la operación de copia de seguridad falla para los datos del PersistentVolumeClaim.
Para solucionar este error, sigue estas instrucciones:
Para ver todos los
PersistentVolumeClaimsy losPersistentVolumesque están vinculados a ellos, ejecuta el comandokubectl get pvc. Consulta esta lista para identificar losPersistentVolumesque están respaldados por tipos de volúmenes no admitidos.kubectl get pvc --all-namespaces -o widePara determinar el tipo de volumen de
PersistentVolumeque está respaldado por un tipo de volumen no admitido por Backup para GKE, ejecuta el comandokubectl describe pv:kubectl describe pv PERSISTENT_VOLUME_NAMEHaz los cambios siguientes:
PERSISTENT_VOLUME_NAME: el nombre dePersistentVolumeque tiene un tipo de volumen no admitido en la columnaVOLUMEde la salida del paso anterior.En la salida, usa los campos
SourceyDriverpara obtener los detalles del proveedor de volumen:En el caso de los discos persistentes compatibles, el resultado es similar a
Source.Driver: pd.csi.storage.gke.iooSource.Type:GCEPersistentDisk.En el caso de los tipos no admitidos que provocan el error, el resultado sería un controlador de disco no persistente, por ejemplo,
Source.Driver:filestore.csi.storage.gke.io.
Para solucionar el error, siga uno de estos métodos:
Migrar a un volumen de Persistent Disk: recomendamos este método para hacer copias de seguridad completas de los datos. Si necesitas crear una copia de seguridad de los datos del volumen, debes usar un disco persistente, lo que implica migrar los datos del tipo de volumen no admitido a un nuevo volumen CSI de disco persistente. Para obtener ayuda con la migración de un volumen de disco persistente, ponte en contacto con Cloud Customer Care.
Habilita el modo permisivo en Backup for GKE: te recomendamos este método si no es necesario crear copias de seguridad de datos de volúmenes no admitidos. Si no es posible o necesario migrar los datos (por ejemplo, si el volumen está respaldado por un servicio externo y tienes previsto volver a conectarlo durante la operación de restauración), puedes configurar tu plan de copias de seguridad de Backup for GKE para que la copia de seguridad se cree en modo permisivo. Para obtener más información sobre cómo habilitar el modo permisivo, consulta el artículo Habilitar el modo permisivo en un plan de copia de seguridad.
Vuelve a intentar la operación de Backup for GKE. En función del método que hayas elegido para resolver el error, la operación de Backup for GKE se comporta de las siguientes formas:
Si has migrado a un volumen de disco persistente, la copia de seguridad debería completarse correctamente para el volumen, incluidos sus datos.
Si has habilitado el modo permisivo, la operación de copia de seguridad debería completarse correctamente, pero no se creará una copia de seguridad de los datos de los volúmenes no compatibles.
Si la operación sigue fallando, ponte en contacto con el servicio de atención al cliente de Cloud para obtener más ayuda.
Error 100020104: No se ha podido crear una copia de seguridad de PersistentVolumeClaim. PersistentVolumeClaim no está vinculado a PersistentVolume
El error 100020104
se produce cuando no se puede crear una copia de seguridad de un PersistentVolumeClaim porque no está vinculado a un PersistentVolume.PersistentVolumeClaim El error da como resultado el siguiente mensaje: Failed to backup PVC - PVC Not Bound to a Persistent Volume.
Este error se produce cuando tu operación de Backup for GKE intenta crear una copia de seguridad de un PersistentVolumeClaim que no se ha vinculado correctamente a un PersistentVolume.
Un PersistentVolumeClaim debe estar enlazado a un PersistentVolume para que una carga de trabajo de consumo, como un pod, pueda usarlo y, posteriormente, Copia de seguridad de GKE pueda crear una copia de seguridad del mismo. Si el PersistentVolumeClaim permanece en el estado Pending,
significa que no hay ningún PersistentVolume adecuado disponible o que no se puede
proporcionar o vincular, lo que provoca que la operación de copia de seguridad falle. Una razón habitual por la que un PersistentVolumeClaim permanece sin enlazar es cuando su StorageClass asociado usa un modo de enlace WaitForFirstConsumer, pero ningún pod u otra carga de trabajo intenta consumir el PersistentVolumeClaim.
Para solucionar este error, sigue estas instrucciones:
Para comprobar el estado de todos los
PersistentVolumeClaimsdel clúster e identificar losPersistentVolumeClaimno enlazados, ejecuta el comandokubectl get pvc:kubectl get pvc --all-namespaces | grep `Pending`Una vez que hayas identificado el
PersistentVolumeClaimque no está enlazado a unPersistentVolume, recupera información sobre elPersistentVolumeClaimno enlazado ejecutando el comandokubectl describe pvc:kubectl describe pvc PVC_NAME -n NAMESPACE_NAMEHaz los cambios siguientes:
PVC_NAME: el nombre delPersistentVolumeClaimdel que no se ha podido crear una copia de seguridad.NAMESPACE_NAME: el nombre del espacio de nombres en el que se encuentraPersistentVolumeClaim.
Una vez que aparezca la descripción, usa los campos
StatusyEventspara determinar si elPersistentVolumeClaimestá vinculado a unPersistentVolume. Si sigues sin poder determinar por qué no se ha vinculado elPersistentVolumeClaima unPersistentVolumeo no puedes resolver el problema identificado, puedes habilitar el modo permisivo en tu plan de copia de seguridad. Para obtener más información sobre cómo habilitar el modo permisivo, consulta el artículo Habilitar el modo permisivo en un plan de copias de seguridad.