Cette page décrit les erreurs d'autorisation que vous pouvez rencontrer lorsque vous utilisez Sauvegarde pour GKE, les éléments à prendre en compte lorsque vous effectuez l'action et comment résoudre l'erreur.
Erreur 100010101 : Échec de la sauvegarde de PersistentVolumeClaim – Liaison IAM manquante pour le projet locataire
L'erreur 100010101
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue en raison d'une liaison Identity and Access Management manquante pour votre projet de locataire, ce qui entraîne un message d'erreur indiquant Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
.
Backup for GKE crée des instantanés du disque persistant de votre cluster GKE. Les instantanés résident dans votre projet Google Cloud , également appelé projet client, et Google Cloud les crée dans un projet de locataire qu'il gère. Le projet locataire existe dans l'organisation google.com
, distincte de la vôtre.
L'agent de service du projet de locataire nécessite des autorisations spécifiques pour utiliser la clé de chiffrement gérée par le client (CMEK) qui chiffre le disque persistant référencé par le PersistentVolumeClaim
de votre cluster. Cette autorisation permet de chiffrer et de déchiffrer les données d'instantané. Si l'agent de service service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
ne dispose pas du rôle roles/cloudkms.cryptoKeyEncrypterDecrypter
sur la clé CMEK de votre disque, l'opération de sauvegarde échoue.
Pour résoudre cette erreur, suivez les instructions ci-dessous :
Vérifiez que vous disposez des autorisations IAM suffisantes pour modifier les stratégies IAM sur la clé Cloud Key Management Service dans la console Google Cloud , telles que
roles/cloudkms.admin
ouroles/owner
.Localisez l'agent de service Compute Engine du projet locataire à l'aide de la valeur
TENANT_PROJECT_NUMBER
qui se trouve dans le messagestatus reason
de votre opération de sauvegarde ayant échoué. Exemple :service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Localisez les informations CMEK suivantes utilisées pour votre disque persistant chiffré :
Nom de la clé : nom de votre clé de chiffrement.
Trousseau de clés : nom du trousseau de clés où se trouve votre clé.
Emplacement : emplacement Google Cloud de votre clé. Par exemple,
global
ouus-central1
.
Pour accorder le rôle
roles/cloudkms.cryptoKeyEncrypterDecrypter
à l'agent de service Compute Engine du projet locataire sur votre CMEK, exécutez la commandegcloud kms keys add-iam-policy-binding
à l'aide de 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
Remplacez les éléments suivants :
KEY_NAME
: nom de votre clé de chiffrement.KEY_RING
: nom du trousseau de clés.LOCATION
: emplacement Google Cloud de votre clé. Par exemple,global
ouus-central1
.TENANT_PROJECT_NUMBER
: numéro du projet locataire que vous avez obtenu à partir du messagestatus reason
de votre opération de sauvegarde ayant échoué.
Si la commande réussit, le résultat est semblable à celui-ci :
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Testez à nouveau l'opération de sauvegarde. Si l'opération échoue toujours, contactez Cloud Customer Care pour obtenir de l'aide.
Erreur 100010104 : Échec de la sauvegarde de PersistentVolumeClaim – Non-respect de la contrainte de règle de l'organisation lors de la création de l'instantané
L'erreur 100010104
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue en raison d'une violation de contrainte de règle d'administration lors de la création d'un instantané, ce qui entraîne l'affichage du message d'erreur Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
.
Backup for GKE crée des instantanés du disque persistant de votre cluster GKE. Les instantanés résident dans votre projet Google Cloud , également appelé projet client, et sont créés dans un projet locataire géré par Google Cloud. Le projet locataire existe dans l'organisation google.com
, distincte de la vôtre.
Votre règle d'administration détermine où vous pouvez créer des ressources de stockage. L'erreur Constraint constraints/compute.storageResourceUseRestrictions violated
signifie qu'une ressource ou un instantané enfreint le règlement en étant créé dans un projet locataire qui ne fait pas partie de la structure organisationnelle autorisée. Étant donné que le projet locataire se trouve dans l'organisation de Google, il ne relève pas de la stratégie que vous avez définie, ce qui entraîne l'échec de la sauvegarde.
Pour résoudre cette erreur, suivez les instructions ci-dessous :
Localisez la règle d'administration qui implémente la contrainte
constraints/compute.storageResourceUseRestrictions
. Pour en savoir plus sur l'affichage des règles d'administration à l'aide de la console Google Cloud , consultez Afficher les règles d'administration.Modifiez la règle
constraints/compute.storageResourceUseRestrictions
pour inclure le dossier du projet locatairefolders/77620796932
utilisé par Sauvegarde pour GKE dans sa liste d'autorisation.Enregistrez les modifications apportées aux règles après avoir ajouté le dossier à la liste d'autorisation.
Testez à nouveau l'opération de sauvegarde après la mise à jour et la propagation de la règle d'entreprise, ce qui prend généralement quelques minutes. La sauvegarde doit se dérouler sans enfreindre les restrictions d'utilisation des ressources de stockage. Si l'opération échoue toujours, contactez l'assistance Cloud Customer Care pour obtenir de l'aide.
Erreur 100010106 : Échec de la sauvegarde de PersistentVolumeClaim. Liaison IAM manquante pour l'agent de service Backup for GKE
L'erreur 100010106
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue en raison d'une liaison Identity and Access Management manquante pour votre agent de service Backup for GKE, ce qui entraîne un message d'erreur indiquant Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
.
Backup for GKE nécessite des autorisations pour utiliser la clé de chiffrement gérée par le client (CMEK) de votre BackupPlan
afin de chiffrer et déchiffrer les disques persistants des volumes. Lorsque l'agent de service Sauvegarde pour GKE ne dispose pas du rôle roles/cloudkms.cryptoKeyEncrypterDecrypter
sur votre CMEK BackupPlan
, les opérations de sauvegarde échouent.
Pour résoudre cette erreur, suivez les instructions ci-dessous :
Identifiez l'agent de service Sauvegarde pour GKE géré par Google et spécifique à votre projet. Par exemple,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Vous pouvez trouver le numéro de votre projet en utilisant les méthodes suivantes :Utilisez le tableau de bord du projet Google Cloud dans la console Google Cloud .
Exécutez la commande
gcloud projects describe
à l'aide de Google Cloud CLI :gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Remplacez
PROJECT_ID
par le nom unique de votre projet.
Identifiez les informations CMEK suivantes :
Nom de la clé : nom de votre clé de chiffrement.
Trousseau de clés : nom du trousseau de clés où se trouve votre clé.
Emplacement : emplacement Google Cloud où se trouve votre clé CMEK
BackupPlan
. Par exemple,global
ouus-central1
.
Pour accorder le rôle
roles/cloudkms.cryptoKeyEncrypterDecrypter
à l'agent de service Sauvegarde pour GKE sur votre clé CMEK, utilisez Google Cloud CLI pour exécuter la commandegcloud 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
Remplacez les éléments suivants :
KEY_NAME
: nom de votre clé de chiffrement.KEY_RING
: nom du trousseau de clés.LOCATION
: emplacement Google Cloud de votre clé. Par exemple,global
ouus-central1
.PROJECT_NUMBER
: numéro de votre projet Google Cloud .
Vérifiez que vous disposez des autorisations Identity and Access Management requises sur la clé Cloud Key Management Service. Par exemple,
roles/cloudkms.admin
ouroles/owner
.Vérifiez que vous disposez des autorisations accordées. Dans le résultat de la commande
gcloud kms keys add-iam-policy-binding
précédente, recherchez une entrée semblable à la suivante :-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Testez à nouveau l'opération de sauvegarde après avoir accordé les autorisations nécessaires. Si l'opération n'aboutit pas, contactez Cloud Customer Care pour obtenir de l'aide.
Erreur 100010107 : Échec de la sauvegarde de PersistentVolumeClaim – Liaison IAM manquante – Compte de service de l'agent (KCP)
L'erreur 100010107
se produit lorsque vous essayez d'effectuer une opération de sauvegarde Sauvegarde pour GKE et que l'agent de service du cluster Google Kubernetes Engine n'a pas accès à votre clé de chiffrement gérée par le client (CMEK), ce qui entraîne l'affichage du message Failed to backup PVC - Missing IAM binding - agent service account (KCP)
.
L'agent de service du cluster Google Kubernetes Engine, généralement au format service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
, est essentiel pour que votre cluster GKE puisse interagir avec les services Google Cloud. Lorsque votre forfait de sauvegarde utilise une clé de chiffrement gérée par le client (CMEK).
Cet agent de service a besoin d'autorisations pour chiffrer et déchiffrer vos données de sauvegarde à l'aide de votre clé CMEK. Si le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter
est manquant dans le plan de sauvegarde de votre CMEK, les opérations de sauvegarde lancées depuis le cluster échouent et renvoient une erreur permission denied
.
Pour résoudre cette erreur, suivez les instructions de dépannage ci-dessous :
Vérifiez que vous disposez des autorisations appropriées pour modifier les stratégies IAM sur la clé Cloud Key Management Service. Par exemple,
cloudkms.admin
ouroles/owner
.Identifiez l'agent de service du cluster Google Kubernetes Engine. Cet agent de service est créé et géré automatiquement par Google Cloud pour vos clusters GKE. Exemple :
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
. Vous avez besoin du numéro de projet pour créer le compte de service complet. Vous pouvez trouver votre numéro de projet à l'aide de l'une des méthodes suivantes :Utilisez le tableau de bord du projet Google Cloud dans la console Google Cloud .
Exécutez la commande
gcloud projects describe
à l'aide de Google Cloud CLI :gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Remplacez
PROJECT_ID
par l'ID du projet.
Recherchez les informations CMEK suivantes :
Nom de la clé : nom de votre clé de chiffrement.
Trousseau de clés : nom du trousseau de clés où se trouve votre clé.
Emplacement : emplacement Google Cloud de votre clé. Par exemple,
global
ouus-central1
.
Attribuez le rôle
roles/cloudkms.cryptoKeyEncrypterDecrypter
au niveau de la clé CMEK. L'agent de service Google Kubernetes Engine a besoin d'autorisations sur votre clé de chiffrement. Pour attribuer le rôleroles/cloudkms.cryptoKeyEncrypterDecrypter
à votre clé CMEK, utilisez la Google Cloud CLI pour exécuter la commandegcloud 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
Remplacez les éléments suivants :
KEY_NAME
: nom de votre clé de chiffrement.KEY_RING
: nom du trousseau de clés.LOCATION
: emplacement Google Cloud de votre clé. Par exemple,global
ouus-central1
.PROJECT_NUMBER
: nom du projet.
Le résultat ressemble à ce qui suit :
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Réessayez l'opération Sauvegarde pour GKE. Si l'opération continue d'échouer, contactez l'assistance Cloud Customer Care pour obtenir de l'aide.
Erreur 100020101 : Échec de la sauvegarde de PersistentVolumeClaim – PersistentVolumeClaim lié à un type PersistentVolume non compatible
L'erreur 100020101
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue, car le PersistentVolumeClaim
est lié à un type PersistentVolume
non compatible. L'erreur génère le message d'erreur suivant :
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Cette erreur se produit lorsque votre opération Sauvegarde pour GKE rencontre un PersistentVolumeClaim
lié à un PersistentVolume
qui utilise un type de volume non compatible avec la sauvegarde de données par Sauvegarde pour GKE. La sauvegarde pour GKE permet principalement de sauvegarder les données des volumes de disque persistant. Si un PersistentVolumeClaim
est lié à un PersistentVolume
qui n'est pas un disque persistant, l'opération de sauvegarde échoue pour les données du PersistentVolumeClaim
.
Pour résoudre cette erreur, suivez les instructions de dépannage ci-dessous :
Répertoriez tous les
PersistentVolumeClaims
et lesPersistentVolumes
qui leur sont associés en exécutant la commandekubectl get pvc
. Consultez cette liste pour identifier lesPersistentVolumes
qui sont sauvegardés par des types de volumes non compatibles.kubectl get pvc --all-namespaces -o wide
Déterminez le type de volume du
PersistentVolume
qui est sauvegardé par un type de volume non compatible avec Sauvegarde pour GKE en exécutant la commandekubectl describe pv
:kubectl describe pv PERSISTENT_VOLUME_NAME
Remplacez les éléments suivants :
PERSISTENT_VOLUME_NAME
: nom dePersistentVolume
dont le type de volume n'est pas compatible et qui est listé dans la colonneVOLUME
du résultat de l'étape précédente.Dans le résultat, utilisez les champs
Source
etDriver
pour obtenir des informations sur le provisionneur de volumes :Pour les disques persistants compatibles : le résultat ressemble à
Source.Driver: pd.csi.storage.gke.io
ouSource.Type:GCEPersistentDisk
.Pour les types non compatibles qui sont à l'origine de l'erreur : la sortie serait un pilote de disque non persistant, par exemple
Source.Driver:filestore.csi.storage.gke.io
.
Pour résoudre l'erreur, utilisez l'une des méthodes suivantes :
Migrer vers un volume de disque persistant : nous recommandons cette méthode pour les sauvegardes complètes de données. Si vous devez sauvegarder les données de volume proprement dites, vous devez utiliser un disque persistant, ce qui implique de migrer vos données du type de volume non compatible vers un nouveau volume CSI de disque persistant. Pour obtenir de l'aide concernant la migration d'un volume de disque persistant, contactez l'assistance Cloud Customer Care.
Activez le mode permissif dans Sauvegarde pour GKE : nous vous recommandons cette méthode si la sauvegarde des données n'est pas requise pour les volumes non compatibles. Si la migration des données n'est pas possible ou nécessaire (par exemple, si le volume est sauvegardé par un service externe et que vous prévoyez de le rattacher lors de l'opération de restauration), vous pouvez configurer votre plan de sauvegarde Sauvegarde pour GKE pour autoriser la sauvegarde en mode permissif. Pour savoir comment activer le mode permissif, consultez Activer le mode permissif sur un plan de sauvegarde.
Réessayez l'opération Sauvegarde pour GKE. En fonction de la méthode que vous avez choisie pour résoudre l'erreur, l'opération Backup for GKE se comporte comme suit :
Si vous avez migré vers un volume de disque persistant, la sauvegarde devrait fonctionner pour le volume, y compris ses données.
Si vous avez activé le mode Permissif, l'opération de sauvegarde devrait réussir, mais les données des volumes non compatibles ne seront pas sauvegardées.
Si l'opération continue d'échouer, contactez l'assistance Cloud Customer Care pour obtenir de l'aide.
Erreur 100020104 : Échec de la sauvegarde de PersistentVolumeClaim – PersistentVolumeClaim non lié à un PersistentVolume
L'erreur 100020104
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue, car le PersistentVolumeClaim
n'est pas associé à un PersistentVolume
. L'erreur génère le message d'erreur suivant : Failed to backup PVC - PVC Not Bound to a Persistent Volume
.
Cette erreur se produit lorsque votre opération Sauvegarde pour GKE tente de sauvegarder un PersistentVolumeClaim
qui n'est pas correctement lié à un PersistentVolume
.
Un PersistentVolumeClaim
doit être lié à un PersistentVolume
avant de pouvoir être utilisé par une charge de travail consommatrice, telle qu'un pod, puis sauvegardé par Sauvegarde pour GKE. Si PersistentVolumeClaim
reste à l'état Pending
, cela signifie qu'aucun PersistentVolume
approprié n'est disponible, ou qu'il ne peut pas être provisionné ni lié, ce qui entraîne l'échec de l'opération de sauvegarde. Une raison courante pour laquelle un PersistentVolumeClaim
reste non lié est lorsque son StorageClass
associé utilise un mode de liaison WaitForFirstConsumer
, mais qu'aucun pod ni aucune autre charge de travail n'essaie encore de consommer le PersistentVolumeClaim
.
Pour résoudre cette erreur, suivez les instructions de dépannage ci-dessous :
Pour vérifier l'état de tous les
PersistentVolumeClaims
du cluster et identifier lesPersistentVolumeClaim
non liés, exécutez la commandekubectl get pvc
:kubectl get pvc --all-namespaces | grep `Pending`
Après avoir identifié le
PersistentVolumeClaim
qui n'est pas lié à unPersistentVolume
, récupérez des informations sur lePersistentVolumeClaim
non lié en exécutant la commandekubectl describe pvc
:kubectl describe pvc PVC_NAME -n NAMESPACE_NAME
Remplacez les éléments suivants :
PVC_NAME
: nom de l'PersistentVolumeClaim
dont la sauvegarde a échoué.NAMESPACE_NAME
: nom de votre espace de noms dans lequel résidePersistentVolumeClaim
.
Une fois la description affichée, utilisez les champs
Status
etEvents
pour déterminer si lePersistentVolumeClaim
est lié à unPersistentVolume
. Si vous ne parvenez toujours pas à déterminer pourquoiPersistentVolumeClaim
n'est pas lié à unPersistentVolume
ou si vous ne parvenez pas à résoudre le problème identifié, vous pouvez activer le mode permissif dans votre forfait de sauvegarde. Pour savoir comment activer le mode permissif, consultez Activer le mode permissif sur un plan de sauvegarde.