Questa pagina descrive gli errori relativi al sistema che potresti riscontrare quando utilizzi Backup per GKE, gli aspetti da considerare quando esegui il backup delle risorse e i passaggi per risolvere il problema.
Errore 100010108: Impossibile eseguire il backup di PersistentVolumeClaim - CMEK del piano di backup mancante per il disco criptato
L'errore 100010108 si verifica durante la creazione di backup del volume con ambito regionale e la CMEK del piano di backup è obbligatoria perché il cluster GKE fa riferimento a un disco criptato.
Comprendere l'errore
Quando crei backup dei volumi con ambito regionale, CMEK del piano di backup è obbligatorio se il cluster GKE fa riferimento a un disco criptato. Si tratta di un requisito rigoroso per i backup dei volumi con ambito regionale. Se il disco di origine è criptato, lo snapshot per quel disco è possibile solo se viene fornita una CMEK del piano di backup. Se il piano di backup non include questa configurazione CMEK, la creazione dello snapshot non va a buon fine e viene visualizzato un messaggio di errore simile al seguente:
failed to create snapshot as disk "pvc-1" is encrypted with CMEK "projects/proj1/locations/us-east1/keyRings/keyring1/cryptoKeys/key1/cryptoKeyVersions/1", but no Backup Plan CMEK is provided. Please add CMEK to the Backup Plan.
Passaggi per la risoluzione dei problemi
- Identifica la configurazione CMEK mancante: il messaggio di errore conferma che il PVC di cui viene eseguito il backup è criptato, ma nella configurazione del piano di backup manca una chiave di crittografia.
- Aggiungi una chiave CMEK al piano di backup: aggiorna la configurazione del piano di backup in modo da includere una chiave di crittografia gestita dal cliente (CMEK). Questa chiave verrà utilizzata per criptare i dati di backup, inclusi i backup dei volumi con ambito regionale.
- Assicurati di disporre delle autorizzazioni appropriate: verifica che all'agente di servizio Backup per GKE (
service-PROJECT_NUMBER@gcp-sa-gkebackup.s3ns-system.iam.gserviceaccount.com) sia assegnato il ruoloroles/cloudkms.cryptoKeyEncrypterDecrypterper la chiave CMEK appena aggiunta. - Esegui di nuovo il test dell'operazione di backup: una volta aggiornato il piano di backup con CMEK e concesse le autorizzazioni, riprova l'operazione di backup.
Errore 100020102: Modalità permissiva rigorosa - Impossibile eseguire il backup di CRD - Versione API v1beta1 non supportata
L'errore 100020102 si verifica quando un tentativo di backup di un CustomResourceDefinition
originariamente applicato come versione apiextensions.k8s.io/v1beta1 non riesce perché
non dispone dello schema strutturale richiesto nella versione
dell'API apiextensions.k8s.io/v1. Questo errore genera il seguente messaggio di errore:
Strict permissive mode - Failed to backup CRD - Unsupported v1beta1 API Version.
Questo errore si verifica perché la versione dell'API apiextensions.k8s.io/v1 è stata rimossa nella versione 1.22 di Google Kubernetes Engine. Per saperne di più sulla rimozione dell'API per
GKE versione 1.22, consulta
Rimozioni di API per GKE v1.22.
Comportamento dell'operazione di backup in modalità non permissiva
In modalità non permissiva o in un piano di backup rigoroso, l'operazione di backup non va a buon fine
se rileva una risorsa di cui non è possibile eseguire il backup, ad esempio un
CustomResourceDefinition creato con l'API v1beta1. Questo errore
si verifica perché la risorsa non dispone dello schema strutturale richiesto
dall'API v1. La presenza di questo CustomResourceDefinition è considerata un
errore critico perché potrebbe non essere ripristinato correttamente in un cluster più recente.
Per risolvere questo errore, segui queste istruzioni:
Identifica il
CustomResourceDefinitionproblematico eseguendo il comandokubectl get crd:kubectl get crd CRD_NAMESostituisci
CRD_NAMEcon il nome diCustomResourceDefinitiondel messaggio di errore.Nell'output YAML, verifica se
CustomResourceDefinitionè stato convertito correttamente dall'APIvbeta1all'APIv1individuando le seguenti condizioni:spec.versions: individua la condizionespec.versionsesaminando ogni versione elencata nel campospec.versions. Se in uno deispec.versionsmanca il camposchema.openAIV3Schema,CustomResourceDefinitionnon ha uno schema strutturale definito per quella versione.status.conditions: individua la condizionestatus.conditionstrovando la condizionetype:NonStructuralSchema. Se ilstatusdistatus.conditionsètrue, viene confermato esplicitamente che lo schema non è strutturale.
Esegui l'upgrade di
CustomResourceDefinitionalla versionev1dell'API seguendo i seguenti passaggi:Modifica il
CustomResourceDefinitionesistente per renderlo compatibile con lo standardv1aggiungendo uno schema strutturale che definisca ogni campo e il relativo tipo all'interno della risorsa personalizzata. Per saperne di più su come aggiungere uno schema strutturale, consulta Specificare uno schema strutturale.Applica il manifest
v1compatibile al tuo cluster.
Se l'upgrade va a buon fine, riprova l'operazione di backup. In caso contrario, utilizza uno dei seguenti metodi per risolvere il problema:
Elimina
CustomResourceDefinitioneseguendo il comandokubectl delete crdseCustomResourceDefinitionnon viene utilizzato nel cluster.kubectl delete crd CRD_NAMESostituisci
CRD_NAMEcon il nome delCustomResourceDefinitionche vuoi eliminare.Abilita la modalità permissiva nel piano di backup, che consente a Backup per GKE di ignorare la risorsa, incluso
CustomResourceDefinitionsnella versione dell'APIv1beta1, e di continuare con il resto dell'operazione di backup. Per saperne di più su come attivare la modalità permissiva, vedi Attivare la modalità permissiva su un piano di backup.
Riprova a eseguire l'operazione di backup. Se l'operazione continua a non riuscire, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100040102: Spazio dei nomi non trovato
L'errore 100040102 si verifica quando un tentativo di eseguire un'operazione di backup non va a buon fine
perché non è possibile trovare uno spazio dei nomi specificato nell'ambito del backup all'interno del
cluster. L'agente Backup per GKE non è riuscito a individuare uno o più spazi dei nomi
elencati esplicitamente nel campo selectedNamespaces della configurazione BackupPlan. Backup per GKE richiede che tutti gli spazi dei nomi specificati siano presenti
nel cluster al momento dell'avvio dell'operazione di backup. Se non viene trovato
lo spazio dei nomi, viene visualizzato il seguente messaggio di errore:
Namespace [NAMESPACE_NAME] is not found.
Per risolvere il problema, segui queste istruzioni:
Verifica che lo spazio dei nomi sia stato inserito correttamente controllando l'elenco
selectedNamespacesnella configurazione diBackupPlan.Verifica che lo spazio dei nomi segnalato nel messaggio di errore esista eseguendo il comando
kubectl get namespace:kubectl get namespace NAMESPACE_NAMESostituisci
NAMESPACE_NAMEcon il nome dello spazio dei nomi riportato nel messaggio di errore.Se lo spazio dei nomi non esiste, viene visualizzato un messaggio che indica che lo spazio dei nomi non è stato trovato, ad esempio
Error from server (NotFound): namespaces "[NAMESPACE_NAME]" not found.Correggi
BackupPlan. Se lo spazio dei nomi è scritto in modo errato, aggiornaBackupPlancon il nome corretto. Se lo spazio dei nomi non esiste più e non deve essere sottoposto a backup, rimuovilo dall'elencoselectedNamespacesnella configurazioneBackupPlan.Riprova l'operazione di backup dopo aver apportato le correzioni necessarie al
BackupPlane avvia un nuovo backup.
Se l'operazione continua a non riuscire, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.