Questa pagina descrive gli errori di autorizzazione che potresti riscontrare durante l'utilizzo di Backup per GKE, gli aspetti da considerare durante l'esecuzione dell'azione e come risolvere l'errore.
Errore 100010101: impossibile eseguire il backup di PersistentVolumeClaim. Associazione IAM mancante per il progetto tenant
L'errore 100010101 si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce a causa di un'associazione Identity and Access Management mancante per il progetto tenant, con conseguente
messaggio di errore che indica
Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project.
Backup per GKE crea snapshot del Persistent Disk del cluster GKE. Gli snapshot si trovano nel tuo progetto Google Cloud , noto anche come progetto consumer, e Google Cloud li crea all'interno di un progetto tenant che gestisce. Il progetto tenant esiste all'interno dell'organizzazione google.com, separata dalla tua organizzazione.
L'agente di servizio all'interno del progetto tenant richiede autorizzazioni specifiche per utilizzare
la chiave di crittografia gestita dal cliente (CMEK) che cripta il Persistent Disk a cui fa riferimento il PersistentVolumeClaim del cluster. Questa autorizzazione
cripta e decripta i dati dello snapshot. Se il service agent service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com non dispone del ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter sulla CMEK del disco, l'operazione di backup non va a buon fine.
Per risolvere questo errore, segui queste istruzioni:
Verifica di disporre delle autorizzazioni IAM sufficienti per modificare le policy IAM sulla chiave Cloud Key Management Service nella console Google Cloud , ad esempio
roles/cloudkms.adminoroles/owner.Individua l'agente di servizio Compute Engine del progetto tenant utilizzando il valore
TENANT_PROJECT_NUMBERpresente nel messaggiostatus reasondell'operazione di backup non riuscita. Ad esempioservice-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com.Individua le seguenti informazioni CMEK utilizzate per il tuo Persistent Disk criptato:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la chiave. Ad esempio,
globalous-central1.
Per concedere all'agente di servizio Compute Engine del progetto tenant il ruolo
roles/cloudkms.cryptoKeyEncrypterDecryptersulla tua chiave CMEK, esegui il comandogcloud kms keys add-iam-policy-bindingutilizzando 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.cryptoKeyEncrypterDecrypterSostituisci quanto segue:
KEY_NAME: il nome della chiave di crittografia.KEY_RING: il nome del portachiavi.LOCATION: la Google Cloud posizione della chiave. Ad esempio,globalous-central1.TENANT_PROJECT_NUMBER: il numero del progetto tenant che hai ottenuto dal messaggiostatus reasondell'operazione di backup non riuscita.
Se il comando ha esito positivo, l'output è simile al seguente:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterEsegui di nuovo il test dell'operazione di backup. Se l'operazione non va ancora a buon fine, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010104: Impossibile eseguire il backup di PersistentVolumeClaim - Violazione del vincolo della policy dell'organizzazione durante la creazione dello snapshot
L'errore 100010104 si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce a causa di una violazione del vincolo dei criteri dell'organizzazione durante la creazione dello snapshot, con conseguente messaggio di errore che indica
Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot.
Backup per GKE crea snapshot del Persistent Disk del cluster GKE. Gli snapshot si trovano nel tuo progetto Google Cloud , noto anche come progetto consumer, e vengono creati all'interno di un progetto tenant gestito da Google Cloud. Il progetto tenant esiste all'interno dell'organizzazione google.com, separata dalla tua organizzazione.
La policy dell'organizzazione determina dove puoi creare risorse di archiviazione. L'errore
Constraint constraints/compute.storageResourceUseRestrictions violated
indica che una risorsa o uno snapshot viola la policy perché è stato
creato in un progetto tenant che non fa parte della struttura organizzativa
consentita. Poiché il progetto tenant si trova all'interno dell'organizzazione di Google, non rientra
nel criterio definito, il che comporta l'errore di backup.
Per risolvere questo errore, segui queste istruzioni:
Individua la policy dell'organizzazione che implementa il vincolo
constraints/compute.storageResourceUseRestrictions. Per ulteriori informazioni su come visualizzare le policy dell'organizzazione utilizzando la console Google Cloud , consulta Visualizzazione delle policy dell'organizzazione.Modifica il criterio
constraints/compute.storageResourceUseRestrictionsper includere la cartella del progetto tenantfolders/77620796932utilizzata da Backup per GKE nella relativa lista consentita.Salva le modifiche alle norme dopo aver aggiunto la cartella alla lista consentita.
Esegui nuovamente il test dell'operazione di backup dopo l'aggiornamento e la propagazione dei criteri dell'organizzazione, che di solito richiedono alcuni minuti. Il backup deve procedere senza violare le limitazioni all'utilizzo delle risorse di archiviazione. Se l'operazione non va ancora a buon fine, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010106: Impossibile eseguire il backup di PersistentVolumeClaim. Associazione IAM mancante per l'agente di servizio Backup per GKE
L'errore 100010106
si verifica quando un tentativo di backup di un PersistentVolumeClaim non riesce a causa di un'associazione
Identity and Access Management mancante per l'agente di servizio Backup per GKE, con conseguente
messaggio di errore che indica Failed to backup PVC - Missing IAM binding for Backup for GKE service agent.
Backup per GKE richiede le autorizzazioni per utilizzare la chiave di crittografia gestita dal cliente (CMEK) del tuo BackupPlan per criptare e decriptare i volumi Persistent Disk. Quando
il service agent di Backup per GKE non dispone del
ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter sulla tua chiave CMEK BackupPlan,
le operazioni di backup non vanno a buon fine.
Per risolvere questo errore, segui queste istruzioni:
Identifica l'agente di servizio Backup per GKE gestito da Google specifico per il tuo progetto. Ad esempio,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com. Puoi trovare il numero di progetto utilizzando i seguenti metodi:Utilizza la dashboard del progetto Google Cloud nella console Google Cloud .
Esegui il comando
gcloud projects describeutilizzando Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"Sostituisci
PROJECT_IDcon il nome univoco del tuo progetto.
Identifica i seguenti dettagli di CMEK:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la tua chiave
BackupPlanCMEK. Ad esempio,globalous-central1.
Per concedere al service agent Backup per GKE il ruolo
roles/cloudkms.cryptoKeyEncrypterDecryptersulla tua chiave CMEK, utilizza Google Cloud CLI per eseguire il 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.cryptoKeyEncrypterDecrypterSostituisci quanto segue:
KEY_NAME: il nome della chiave di crittografia.KEY_RING: il nome del portachiavi.LOCATION: la Google Cloud posizione della chiave. Ad esempio,globalous-central1.PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
Verifica di disporre delle autorizzazioni Identity and Access Management richieste per la chiave Cloud Key Management Service. Ad esempio,
roles/cloudkms.adminoroles/owner.Verifica di disporre delle autorizzazioni concesse. Nell'output del comando
gcloud kms keys add-iam-policy-bindingprecedente, cerca una voce simile alla seguente:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterEsegui nuovamente il test dell'operazione di backup dopo aver concesso le autorizzazioni necessarie. Se l'operazione non viene completata correttamente, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010107: impossibile eseguire il backup di PersistentVolumeClaim - Associazione IAM mancante - account di servizio dell'agente (KCP)
L'errore 100010107
si verifica quando tenti di eseguire un'operazione di backup di Backup per GKE e l'agente di servizio del cluster Google Kubernetes Engine non ha accesso alla tua chiave di crittografia gestita dal cliente (CMEK), il che comporta la visualizzazione del messaggio Failed to backup PVC - Missing IAM binding - agent service account (KCP).
L'agente di servizio del cluster Google Kubernetes Engine, in genere nel formato
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com,
è essenziale per consentire al cluster GKE di interagire con i servizi Google Cloud. Quando il piano di backup utilizza una chiave di crittografia gestita dal cliente (CMEK).
Questo service agent ha bisogno delle autorizzazioni per criptare e decriptare i dati di backup
utilizzando la tua CMEK. Se nel piano di backup manca il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter
in CMEK, le operazioni di backup avviate dal cluster non vanno a buon fine e viene visualizzato un
errore permission denied.
Per risolvere l'errore, segui queste istruzioni per la risoluzione dei problemi:
Verifica di disporre delle autorizzazioni corrette per modificare i criteri IAM sulla chiave Cloud Key Management Service. Ad esempio,
cloudkms.adminoroles/owner.Identificare l'agente di servizio del cluster Google Kubernetes Engine. Questo agente di servizio viene creato e gestito automaticamente da Google Cloud per i tuoi cluster GKE. Ad esempio,
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com. Per creare il account di servizio completo, devi disporre del numero di progetto. Puoi trovare il numero del progetto utilizzando uno dei seguenti metodi:Utilizza la dashboard del progetto Google Cloud nella console Google Cloud .
Esegui il comando
gcloud projects describeutilizzando Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"Sostituisci
PROJECT_IDcon l'ID progetto.
Individua le seguenti informazioni su CMEK:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la chiave. Ad esempio,
globalous-central1.
Concedi il ruolo
roles/cloudkms.cryptoKeyEncrypterDecryptera livello di chiave di crittografia gestita dal cliente. L'agente di servizio Google Kubernetes Engine ha bisogno di autorizzazioni per la chiave di crittografia. Per concedere il ruoloroles/cloudkms.cryptoKeyEncrypterDecryptersulla tua chiave CMEK, utilizza Google Cloud CLI per eseguire il 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.cryptoKeyEncrypterDecrypterSostituisci quanto segue:
KEY_NAME: il nome della chiave di crittografia.KEY_RING: il nome del portachiavi.LOCATION: la Google Cloud posizione della chiave. Ad esempio,globalous-central1.PROJECT_NUMBER: il nome del progetto.
L'output è simile al seguente:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```Riprova l'operazione Backup per GKE. Se l'operazione continua a non riuscire, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100020101: Impossibile eseguire il backup di PersistentVolumeClaim - PersistentVolumeClaim associato a un tipo di PersistentVolume non supportato
L'errore 100020101 si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce perché il PersistentVolumeClaim è associato a un tipo di
PersistentVolume non supportato. L'errore genera il seguente messaggio di errore:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Questo errore si verifica quando l'operazione Backup per GKE rileva un
PersistentVolumeClaim associato a un PersistentVolume che utilizza un tipo di volume
non supportato per il backup dei dati da Backup per GKE. Backup per GKE
supporta principalmente il backup dei dati dai volumi Persistent Disk. Se un
PersistentVolumeClaim è associato a un PersistentVolume che non è un Persistent Disk,
l'operazione di backup non riesce per i dati del PersistentVolumeClaim.
Per risolvere l'errore, segui queste istruzioni per la risoluzione dei problemi:
Elenca tutti i
PersistentVolumeClaimse iPersistentVolumesa cui sono associati eseguendo il comandokubectl get pvc. Consulta questo elenco per identificare iPersistentVolumessupportati da tipi di volumi non supportati.kubectl get pvc --all-namespaces -o wideDetermina il tipo di volume di
PersistentVolumesupportato da un tipo di volume non supportato da Backup per GKE eseguendo il comandokubectl describe pv:kubectl describe pv PERSISTENT_VOLUME_NAMESostituisci quanto segue:
PERSISTENT_VOLUME_NAME: il nome diPersistentVolumeche ha un tipo di volume non supportato elencato come colonnaVOLUMEnell'output del passaggio precedente.Nell'output, utilizza i campi
SourceeDriverper ottenere i dettagli del volume provisioner:Per i Persistent Disk supportati: l'output è simile a
Source.Driver: pd.csi.storage.gke.iooSource.Type:GCEPersistentDisk.Per i tipi non supportati che causano l'errore: l'output sarebbe un driver non Persistent Disk, ad esempio
Source.Driver:filestore.csi.storage.gke.io.
Per risolvere l'errore, utilizza uno dei seguenti metodi:
Esegui la migrazione a un Persistent Disk permanente: consigliamo questo metodo per i backup completi dei dati. Se devi eseguire il backup dei dati del volume effettivi, devi utilizzare un Persistent Disk, il che comporta la migrazione dei dati dal tipo di volume non supportato a un nuovo volume CSI del disco permanente. Per assistenza con la migrazione di un volume Persistent Disk, contatta l'assistenza clienti Google Cloud.
Attiva la modalità permissiva in Backup per GKE: consigliamo questo metodo se il backup dei dati non è richiesto per i volumi non supportati. Se la migrazione dei dati non è fattibile o necessaria, ad esempio se il volume è supportato da un servizio esterno e prevedi di ricollegarlo durante l'operazione di ripristino, puoi configurare il piano di backup di Backup per GKE in modo da consentire l'esecuzione del backup in modalità permissiva. Per ulteriori informazioni su come abilitare la modalità permissiva, vedi Abilitare la modalità permissiva in un piano di backup.
Riprova l'operazione Backup per GKE. A seconda del metodo scelto per risolvere l'errore, l'operazione di backup per GKE si comporta nei seguenti modi:
Se hai eseguito la migrazione a un volume Persistent Disk, il backup dovrebbe essere eseguito correttamente per il volume, inclusi i relativi dati.
Se hai attivato la modalità permissiva, l'operazione di backup dovrebbe riuscire, ma i dati per i volumi non supportati non vengono sottoposti a backup.
Se l'operazione continua a non riuscire, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100020104: Impossibile eseguire il backup di PersistentVolumeClaim - PersistentVolumeClaim non associato a un PersistentVolume
L'errore 100020104
si verifica quando un tentativo di backup di un PersistentVolumeClaim non va a buon fine perché il PersistentVolumeClaim non è associato a un PersistentVolume. L'errore genera
il seguente messaggio di errore: Failed to backup PVC - PVC Not Bound to a Persistent Volume.
Questo errore si verifica quando l'operazione di Backup per GKE tenta di eseguire il backup di un
PersistentVolumeClaim che non è associato correttamente a un PersistentVolume.
Un PersistentVolumeClaim deve essere associato a un PersistentVolume prima di poter essere utilizzato da un workload di consumo, ad esempio un pod, e successivamente sottoposto a backup da Backup per GKE. Se PersistentVolumeClaim rimane nello stato Pending,
significa che un PersistentVolume adatto non è disponibile o non può essere
provisionato o associato, il che comporta l'esito negativo dell'operazione di backup. Un motivo comune per cui un PersistentVolumeClaim rimane non associato è quando il relativo StorageClass utilizza una modalità di associazione WaitForFirstConsumer, ma nessun pod o altro carico di lavoro sta ancora tentando di utilizzare il PersistentVolumeClaim.
Per risolvere l'errore, segui queste istruzioni per la risoluzione dei problemi:
Per controllare lo stato di tutti i
PersistentVolumeClaimsnel cluster e identificare ilPersistentVolumeClaimnon associato, esegui il comandokubectl get pvc:kubectl get pvc --all-namespaces | grep `Pending`Dopo aver identificato
PersistentVolumeClaimche non è associato a unPersistentVolume, recupera le informazioni suPersistentVolumeClaimnon associato eseguendo il comandokubectl describe pvc:kubectl describe pvc PVC_NAME -n NAMESPACE_NAMESostituisci quanto segue:
PVC_NAME: il nome diPersistentVolumeClaimdi cui non è stato eseguito il backup.NAMESPACE_NAME: il nome dello spazio dei nomi in cui risiedePersistentVolumeClaim.
Dopo che viene visualizzata la descrizione, utilizza i campi
StatuseEventsper determinare sePersistentVolumeClaimè associato a unPersistentVolume. Se non riesci ancora a determinare perchéPersistentVolumeClaimnon è associato a unPersistentVolumeo non riesci a risolvere il problema identificato, puoi attivare la modalità permissiva nel tuo piano di backup. Per ulteriori informazioni su come abilitare la modalità permissiva, vedi Abilitare la modalità permissiva su un piano di backup.