En esta página, se describen los errores de permisos que puedes encontrar cuando usas la Copia de seguridad para GKE, los aspectos que debes tener en cuenta cuando realizas la acción y cómo resolver el error.
Error 100010101: No se pudo crear una copia de seguridad de PersistentVolumeClaim. Falta la vinculación de IAM para el proyecto del arrendatario.
El error 100010101
se produce cuando falla un intento de crear una copia de seguridad de un PersistentVolumeClaim
debido a que falta una vinculación de Identity and Access Management para tu proyecto de arrendatario, lo que genera un mensaje de error que indica Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
.
Copia de seguridad para GKE crea instantáneas del Persistent Disk de tu clúster de GKE. Las instantáneas residen en tu proyecto Google Cloud , también conocido como proyecto de consumidor, y Google Cloud las crea dentro de un proyecto de inquilino que administra. El proyecto de arrendatario existe dentro de la organización google.com
, separado de tu propia organización.
El agente de servicio dentro del proyecto del arrendatario requiere permisos específicos para usar la clave de encriptación administrada por el cliente (CMEK) que encripta el Persistent Disk al que hace referencia el PersistentVolumeClaim
de tu clúster. Este permiso encripta y desencripta los datos de la instantánea. Si el agente de servicio de service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
no tiene el rol de roles/cloudkms.cryptoKeyEncrypterDecrypter
en la CMEK de tu disco, la operación de copia de seguridad fallará.
Para resolver este error, sigue estas instrucciones:
Verifica que tengas los permisos de IAM suficientes para modificar las políticas de IAM en la clave de Cloud Key Management Service en la consola de Google Cloud , como
roles/cloudkms.admin
oroles/owner
.Ubica el agente de servicio de Compute Engine del proyecto de arrendatario con el valor
TENANT_PROJECT_NUMBER
que se encuentra en el mensajestatus reason
de la operación de copia de seguridad fallida. Por ejemplo,service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Ubica la siguiente información de CMEK que se usa para tu Persistent Disk encriptado:
Nombre de la clave: Es el nombre de tu clave de encriptación.
Llavero de claves: Es el nombre del llavero de claves en el que se encuentra tu clave.
Ubicación: Es la ubicación Google Cloud en la que se encuentra tu llave. Por ejemplo:
global
ous-central1
.
Para otorgar al agente de servicio de Compute Engine del proyecto de arrendatario el rol
roles/cloudkms.cryptoKeyEncrypterDecrypter
en tu CMEK, ejecuta el comandogcloud kms keys add-iam-policy-binding
con Google Cloud CLI: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.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
KEY_NAME
: Es el nombre de tu clave de encriptación.KEY_RING
: es el nombre del llavero de claves.LOCATION
: Es la Google Cloud ubicación de tu llave. Por ejemplo:global
ous-central1
.TENANT_PROJECT_NUMBER
: Es el número del proyecto de usuario que obtuviste del mensajestatus reason
de tu operación de copia de seguridad fallida.
Si el comando se ejecuta correctamente, el resultado es similar al siguiente:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Vuelve a probar la operación de copia de seguridad. Si la operación sigue sin completarse, comunícate con Atención al cliente de Cloud para obtener más ayuda.
Error 100010104: No se pudo crear una copia de seguridad de PersistentVolumeClaim. Se incumplió la restricción de la política de la organización durante la creación de la instantánea.
El error 100010104
se produce cuando falla un intento de crear una copia de seguridad de un PersistentVolumeClaim
debido a un incumplimiento de la restricción de la política de la organización durante la creación de la instantánea, lo que genera un mensaje de error que indica Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
.
Copia de seguridad para GKE crea instantáneas del Persistent Disk de tu clúster de GKE. Las instantáneas residen en tu proyecto Google Cloud , también conocido como proyecto de consumidor, y se crean dentro de un proyecto de usuario administrado por Google Cloud. El proyecto de arrendatario existe dentro de la organización google.com
, separado de tu propia 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 incumplen la política porque se crearon en un proyecto de inquilino que no forma parte de la estructura organizativa permitida. Dado que el proyecto del arrendatario se encuentra dentro de la organización de Google, queda fuera de la política que definiste, lo que provoca la falla de la copia de seguridad.
Para resolver este error, sigue estas instrucciones:
Ubica la política de la 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 con la consola de Google Cloud , consulta Visualiza las políticas de la organización.Modifica la política de
constraints/compute.storageResourceUseRestrictions
para incluir la carpeta del proyecto del arrendatariofolders/77620796932
que usa Copia de seguridad para GKE en su lista de entidades permitidas.Guarda los cambios en la política después de agregar la carpeta a la lista de entidades permitidas.
Vuelve a probar la operación de copia de seguridad después de que se actualice y propague la política de la organización, lo que suele tardar unos minutos. La copia de seguridad debe continuar sin incumplir las restricciones de uso de recursos de almacenamiento. Si la operación sigue sin completarse, comunícate con Atención al cliente de Cloud para obtener más ayuda.
Error 100010106: No se pudo crear una copia de seguridad de PersistentVolumeClaim. Falta la vinculación de IAM para el agente de servicio de Copia de seguridad para GKE
El error 100010106
se produce cuando falla un intento de crear una copia de seguridad de un PersistentVolumeClaim
debido a una vinculación faltante de Identity and Access Management para tu agente de servicio de Copia de seguridad para GKE, lo que genera un mensaje de error que indica Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
.
Copia de seguridad para GKE requiere permisos para usar la clave de encriptación administrada por el cliente (CMEK) de tu BackupPlan
para encriptar y desencriptar volúmenes de discos persistentes. Cuando el agente de servicio de Copia de seguridad para GKE no tiene el rol de roles/cloudkms.cryptoKeyEncrypterDecrypter
en tu CMEK de BackupPlan
, fallan las operaciones de copia de seguridad.
Para resolver este error, sigue estas instrucciones:
Identifica el agente de servicio de Copia de seguridad para GKE administrado por Google específico para tu proyecto. Por ejemplo,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Puedes encontrar el número de tu proyecto con los siguientes métodos:Usa el panel del proyecto de Google Cloud en la consola de Google Cloud .
Ejecuta el comando
gcloud projects describe
con Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Reemplaza
PROJECT_ID
por el nombre único de tu proyecto.
Identifica los siguientes detalles de CMEK:
Nombre de la clave: Es el nombre de tu clave de encriptación.
Llavero de claves: Es el nombre del llavero de claves en el que se encuentra tu clave.
Ubicación: Es la ubicación Google Cloud en la que se encuentra tu CMEK
BackupPlan
. Por ejemplo:global
ous-central1
.
Para otorgarle al agente de servicio de Copia de seguridad para GKE el rol
roles/cloudkms.cryptoKeyEncrypterDecrypter
en tu CMEK, usa Google Cloud CLI 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.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
KEY_NAME
: Es el nombre de tu clave de encriptación.KEY_RING
: es el nombre del llavero de claves.LOCATION
: Es la Google Cloud ubicación de tu llave. Por ejemplo:global
ous-central1
.PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud .
Verifica que tengas los permisos de Identity and Access Management necesarios en la clave de Cloud Key Management Service. Por ejemplo,
roles/cloudkms.admin
oroles/owner
.Verifica que tengas los permisos otorgados. En el resultado del comando
gcloud kms keys add-iam-policy-binding
anterior, busca una entrada similar a la siguiente:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Vuelve a probar la operación de copia de seguridad después de otorgar los permisos necesarios. Si la operación no se completa correctamente, comunícate con Atención al cliente de Cloud para obtener más ayuda.
Error 100010107: No se pudo crear una copia de seguridad de PersistentVolumeClaim. Falta la vinculación de IAM de la cuenta de servicio del agente (KCP).
El error 100010107
se produce cuando intentas realizar una operación de copia de seguridad de Copia de seguridad para GKE y el agente de servicio del clúster de Google Kubernetes Engine no tiene acceso a tu clave de encriptación administrada por el cliente (CMEK), lo que genera 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 fundamental 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 encriptación administrada por el cliente (CMEK)
Este agente de servicio necesita permisos para encriptar y desencriptar los datos de tu copia de seguridad con tu CMEK. Si el plan de copias de seguridad no tiene el rol roles/cloudkms.cryptoKeyEncrypterDecrypter
en tu CMEK, las operaciones de copias de seguridad iniciadas desde el clúster fallarán con un error permission denied
.
Para resolver este error, sigue estas instrucciones:
Verifica que tengas los permisos correctos para modificar las políticas de IAM en la clave de Cloud Key Management Service. Por ejemplo,
cloudkms.admin
oroles/owner
.Identifica el agente de servicio del clúster de Google Kubernetes Engine. Google Cloud crea y administra automáticamente este agente de servicio 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. Puedes encontrar el número de tu proyecto con uno de los siguientes métodos:Usa el panel del proyecto de Google Cloud en la consola de Google Cloud .
Ejecuta el comando
gcloud projects describe
con Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Reemplaza
PROJECT_ID
con el ID del proyecto.
Ubica la siguiente información de la CMEK:
Nombre de la clave: Es el nombre de tu clave de encriptación.
Llavero de claves: Es el nombre del llavero de claves en el que se encuentra tu clave.
Ubicación: Es la ubicación Google Cloud en la que se encuentra tu llave. Por ejemplo:
global
ous-central1
.
Otorga el rol
roles/cloudkms.cryptoKeyEncrypterDecrypter
a nivel de CMEK. El agente de servicio de Google Kubernetes Engine necesita permisos en tu clave de encriptación. Para otorgar el rolroles/cloudkms.cryptoKeyEncrypterDecrypter
en 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.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
KEY_NAME
: Es el nombre de tu clave de encriptación.KEY_RING
: es el nombre del llavero de claves.LOCATION
: Es la Google Cloud ubicación de tu llave. Por ejemplo:global
ous-central1
.PROJECT_NUMBER
: el nombre del proyecto.
El resultado es similar a este:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Vuelve a intentar la operación de Copia de seguridad para GKE. Si la operación sigue fallando, comunícate con Atención al cliente de Cloud para obtener más ayuda.
Error 100020101: No se pudo crear una copia de seguridad de PersistentVolumeClaim. PersistentVolumeClaim vinculado a un tipo de PersistentVolume no admitido
El error 100020101
se produce cuando falla un intento de crear una copia de seguridad de un PersistentVolumeClaim
porque este está vinculado a un tipo de PersistentVolume
no compatible.PersistentVolumeClaim
El error genera el siguiente mensaje de error:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Este error ocurre cuando tu operación de Copia de seguridad para GKE encuentra un PersistentVolumeClaim
que está vinculado a un PersistentVolume
que usa un tipo de volumen que no es compatible con la copia de seguridad de datos de Copia de seguridad para GKE. La copia de seguridad para GKE admite principalmente la creación de copias de seguridad de datos de volúmenes de Persistent Disk. Si un PersistentVolumeClaim
está vinculado a un PersistentVolume
que no es un Persistent Disk, la operación de copia de seguridad falla para los datos del PersistentVolumeClaim
.
Para resolver este error, sigue estas instrucciones:
Ejecuta el comando
kubectl get pvc
para enumerar todos losPersistentVolumeClaims
y losPersistentVolumes
que están vinculados a ellos. Revisa esta lista para identificar losPersistentVolumes
respaldados por tipos de volúmenes no admitidos.kubectl get pvc --all-namespaces -o wide
Para determinar el tipo de volumen del
PersistentVolume
respaldado por un tipo de volumen que no admite la Copia de seguridad para GKE, ejecuta el comandokubectl describe pv
:kubectl describe pv PERSISTENT_VOLUME_NAME
Reemplaza lo siguiente:
PERSISTENT_VOLUME_NAME
: Es el nombre dePersistentVolume
que tiene un tipo de volumen no admitido que se muestra como la columnaVOLUME
en el resultado del paso anterior.En el resultado, usa los campos
Source
yDriver
para obtener detalles del aprovisionador de volúmenes:Para los discos persistentes compatibles: El resultado es similar a
Source.Driver: pd.csi.storage.gke.io
oSource.Type:GCEPersistentDisk
.Para los tipos no admitidos que causan el error: El resultado sería un controlador de disco no persistente, por ejemplo,
Source.Driver:filestore.csi.storage.gke.io
.
Usa uno de los siguientes métodos para resolver el error:
Migra a un Persistent Disk persistente: Recomendamos este método para las copias de seguridad de datos completas. Si necesitas crear una copia de seguridad de los datos del volumen, debes usar un Persistent Disk, lo que implica migrar tus datos del tipo de volumen no compatible a un nuevo volumen de CSI de disco persistente. Para obtener ayuda con la migración de un volumen de Persistent Disk, comunícate con Atención al cliente de Cloud.
Habilita el modo permisivo en Copia de seguridad para GKE: Recomendamos este método si no se requiere una copia de seguridad de los datos para los volúmenes no admitidos. Si migrar datos no es factible ni necesario (por ejemplo, si el volumen está respaldado por un servicio externo y planeas volver a adjuntarlo durante la operación de restablecimiento), puedes configurar tu plan de copia de seguridad de Copia de seguridad para GKE para permitir que la copia de seguridad continúe en modo permisivo. Para obtener más información sobre cómo habilitar el modo permisivo, consulta Habilita el modo permisivo en un plan de copia de seguridad.
Vuelve a intentar la operación de Copia de seguridad para GKE. Según el método que elijas para resolver el error, la operación de Copia de seguridad para GKE se comporta de las siguientes maneras:
Si migraste a un volumen de Persistent Disk, la copia de seguridad debería realizarse correctamente para el volumen, incluidos sus datos.
Si habilitaste el modo permisivo, la operación de copia de seguridad debería completarse correctamente, pero no se realizará una copia de seguridad de los datos de los volúmenes no admitidos.
Si la operación sigue fallando, comunícate con Atención al cliente de Cloud para obtener más ayuda.
Error 100020104: No se pudo crear una copia de seguridad de PersistentVolumeClaim. PersistentVolumeClaim no está vinculado a un PersistentVolume
El error 100020104
se produce cuando falla un intento de crear una copia de seguridad de un PersistentVolumeClaim
porque el PersistentVolumeClaim
no está vinculado a un PersistentVolume
. El error genera el siguiente mensaje de error: Failed to backup PVC - PVC Not Bound to a Persistent Volume
.
Este error se produce cuando tu operación de Copia de seguridad para GKE intenta crear una copia de seguridad de un PersistentVolumeClaim
que no se vinculó correctamente a un PersistentVolume
.
Un objeto PersistentVolumeClaim
debe estar vinculado a un objeto PersistentVolume
antes de que una carga de trabajo de consumo, como un Pod, pueda usarlo y, luego, Copia de seguridad para GKE pueda crear una copia de seguridad de él. Si el PersistentVolumeClaim
permanece en estado Pending
, significa que no hay un PersistentVolume
adecuado disponible o que no se puede aprovisionar ni vincular, lo que provoca que falle la operación de copia de seguridad. Un motivo común por el que un PersistentVolumeClaim
permanece sin vincular es cuando su StorageClass
asociado usa un modo de vinculación WaitForFirstConsumer
, pero ningún Pod ni otra carga de trabajo intenta consumir el PersistentVolumeClaim
.
Para resolver este error, sigue estas instrucciones:
Para verificar el estado de todos los
PersistentVolumeClaims
del clúster y, luego, identificar elPersistentVolumeClaim
no vinculado, ejecuta el comandokubectl get pvc
:kubectl get pvc --all-namespaces | grep `Pending`
Después de identificar el
PersistentVolumeClaim
que no está vinculado a unPersistentVolume
, recupera información sobre elPersistentVolumeClaim
no vinculado ejecutando el comandokubectl describe pvc
:kubectl describe pvc PVC_NAME -n NAMESPACE_NAME
Reemplaza lo siguiente:
PVC_NAME
: Es el nombre delPersistentVolumeClaim
del que no se pudo crear una copia de seguridad.NAMESPACE_NAME
: Es el nombre de tu espacio de nombres en el que residePersistentVolumeClaim
.
Después de que aparezca la descripción, usa los campos
Status
yEvents
para determinar si elPersistentVolumeClaim
está vinculado a unPersistentVolume
. Si aún no puedes determinar por qué elPersistentVolumeClaim
no está vinculado a unPersistentVolume
o no puedes resolver el problema identificado, puedes habilitar el modo permisivo en tu plan de respaldo. Para obtener más información sobre cómo habilitar el modo permisivo, consulta Habilita el modo permisivo en un plan de copia de seguridad.