Share via


Risolvere i problemi di backup e ripristino del servizio Azure Kubernetes

Questo articolo illustra i passaggi per la risoluzione dei problemi che consentono di risolvere gli errori di backup, ripristino e gestione del servizio Azure Kubernetes.

Risoluzione degli errori di installazione dell'estensione di backup del servizio Azure Kubernetes

Scenario 1

Messaggio di errore:

{Helm installation from path [] for release [azure-aks-backup] failed with the following error: err [release azure-aks-backup failed, and has been uninstalled due to atomic being set: failed post-install: timed out waiting for the condition]} occurred while doing the operation: {Installing the extension} on the config"`

Causa: l'estensione viene installata correttamente, ma i pod non vengono generati perché il calcolo e la memoria necessari non sono disponibili per i pod.

Soluzione: per risolvere il problema, aumentare il numero di nodi nel cluster, consentendo la disponibilità di risorse di calcolo e memoria sufficienti per la generazione dei pod. Per ridimensionare il pool di nodi nel portale di Azure, seguire questa procedura:

  1. Nel portale di Azure aprire il cluster del servizio Azure Kubernetes.
  2. Passare a pool di nodi in Impostazioni.
  3. Selezionare Ridimensiona pool di nodie quindi aggiornare i valori minimi e massimi nell'intervallo del numero di nodi.
  4. Selezionare Applica.

Scenario 2

Messaggio di errore:

BackupStorageLocation "default" is unavailable: rpc error: code = Unknown desc = azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://management.azure.com/subscriptions/e30af180-aa96-4d81-981a-b67570b0d615/resourceGroups/AzureBackupRG_westeurope_1/providers/Microsoft.Storage/storageAccounts/devhayyabackup/listKeys?%24expand=kerb&api-version=2019-06-01: StatusCode=404 -- Original Error: adal: Refresh request failed. Status Code = '404'. Response body: no azure identity found for request clientID 4e95##### REDACTED #####0777`

Endpoint http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=4e95dcc5-a769-4745-b2d9-

Causa: quando si abilita l'identità gestita da pod nel cluster del servizio Azure Kubernetes, viene aggiunta una AzurePodIdentityException denominata aks-addon-exception allo spazio dei nomi kube-system. Un'eccezione AzurePodIdentityException consente ai pod con determinate etichette di accedere all'endpoint IMDS (Azure Instance Metadata Service) non vengono intercettati dal server NMI.

I pod di estensione non sono esenti e richiedono che l'identità del pod Microsoft Entra sia abilitata manualmente.

Risoluzione: creare eccezione di identità pod nel cluster del servizio Azure Kubernetes, che funziona solo per lo spazio dei nomi dataprotection-microsoft e per non kube-system). Altre informazioni.

  1. Esegui questo comando:

    az aks pod-identity exception add --resource-group shracrg --cluster-name shractestcluster --namespace dataprotection-microsoft --pod-labels app.kubernetes.io/name=dataprotection-microsoft-kubernetes
    
  2. Per verificare azurepodidentityexceptions nel cluster, eseguire il comando seguente:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Per assegnare il ruolo Collaboratore dati BLOB Archiviazione all'identità dell'estensione, eseguire il comando seguente:

    az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name aksclustername --resource-group aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/subscriptionid/resourceGroups/storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/storageaccountname
    

Scenario 3

Messaggio di errore:

{"Message":"Error in the getting the Configurations: error {Post \https://centralus.dp.kubernetesconfiguration.azure.com/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /provider/managedclusters/clusters/ aksclustername /configurations/getPendingConfigs?api-version=2021-11-01\: dial tcp: lookup centralus.dp.kubernetesconfiguration.azure.com on 10.63.136.10:53: no such host}","LogType":"ConfigAgentTrace","LogLevel":"Error","Environment":"prod","Role":"ClusterConfigAgent","Location":"centralus","ArmId":"/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /providers/Microsoft.ContainerService/managedclusters/ aksclustername ","CorrelationId":"","AgentName":"ConfigAgent","AgentVersion":"1.8.14","AgentTimestamp":"2023/01/19 20:24:16"}`

Causa: sono necessarie regole FQDN/di applicazione specifiche per usare le estensioni del cluster nei cluster del servizio Azure Kubernetes. Altre informazioni.

Questo errore viene visualizzato a causa dell'assenza di queste regole FQDN a causa delle informazioni di configurazione del servizio Estensioni cluster non disponibili.

Risoluzione: per risolvere il problema, è necessario creare un override core DNS personalizzato affinché l'endpoint DP possa passare attraverso la rete pubblica.

  1. Ottenere il file YAML personalizzato CoreDNS esistente nel cluster (salvarlo in locale per riferimento in un secondo momento)::

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Eseguire l'override del mapping per l'endpoint DP centrale all'indirizzo IP pubblico (usare il codice YAML seguente):

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: coredns-custom 
      namespace: kube-system
    data:
        aksdp.override: |
              hosts { 
                  20.40.200.153 centralus.dp.kubernetesconfiguration.azure.com
                  fallthrough
               }
    

    Eseguire ora il comando seguente per applicare il file yaml di aggiornamento:

    kubectl apply -f corednsms.yaml
    
  3. Per forzare il ricaricamento coredns pod, eseguire il comando seguente:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Per eseguire NSlookup dal pod ExtensionAgent per verificare se coreDNS-custom è in esecuzione, eseguire il comando seguente:

    kubectl exec -i -t pod/extension-agent-<pod guid that's there in your cluster> -n kube-system -- nslookup centralus.dp.kubernetesconfiguration.azure.com
    
  5. Per controllare i log del pod ExtensionAgent, eseguire il comando seguente:

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Eliminare e reinstallare l'estensione di backup per avviare il backup.

Errori correlati all'installazione dell'estensione di backup

Questi codici di errore vengono visualizzati a causa di problemi nell'estensione di backup installata nel cluster del servizio Azure Kubernetes.

KubernetesBackupListExtensionsError:

Causa: insieme di credenziali di backup come parte di una convalida, controllare se nel cluster è installata l'estensione di backup. Per questo motivo, l'identità del servizio gestito dell'insieme di credenziali richiede un'autorizzazione di lettura per il cluster del servizio Azure Kubernetes che gli consenta di elencare tutte le estensioni installate nel cluster.

Azione consigliata: riassegnare il ruolo Lettore all'identità del servizio gestito dell'insieme di credenziali (rimuovere l'assegnazione di ruolo esistente e assegnare di nuovo il ruolo Lettore), perché il ruolo Lettore assegnato non è presente nell'autorizzazione estensione elenco. Se la riassegnazione non riesce, usare un insieme di credenziali di backup diverso per configurare il backup.

UserErrorKubernetesBackupExtensionNotFoundError

Causa: insieme di credenziali di backup come parte di convalida, controllare se nel cluster è installata l'estensione del backup. Insieme di credenziali esegue un'operazione per elencare le estensioni installate nel cluster. Se l'estensione backup non è presente nell'elenco, viene visualizzato questo errore.

Azione consigliata: usare il client CL o del portale di Azure per eliminare l'estensione e quindi installare nuovamente l'estensione.

UserErrorKubernetesBackupExtensionHasErrors

Causa: l'estensione di backup installata nel cluster presenta alcuni errori interni.

Azione consigliata: usare il client CL o del portale di Azure per eliminare l'estensione e quindi installare nuovamente l'estensione.

UserErrorKubernetesBackupExtensionIdentityNotFound

Causa: il backup del servizio Azure Kubernetes richiede l'installazione di un'estensione di backup all'interno del cluster. L'estensione, assieme all'installazione, include un'identità utente creatadenominata MSI dell'estensione. Questa identità del servizio gestito viene creata nel gruppo di risorse che comprende i pool di nodi per il cluster del servizio Azure Kubernetes. All'identità del servizio gestito vengono assegnati i ruoli necessari per accedere al percorso di archiviazione di backup. Il codice di errore suggerisce che l'identità dell'estensione è mancante.

Azione consigliata: usare il client CLI o il client del portale di Azure per eliminare l'estensione e quindi installare nuovamente l'estensione. Viene creata una nuova identità insieme all'estensione.

KubernetesBackupCustomResourcesTrackingTimeOutError

Causa: Backup di Azure per il servizio Azure Kubernetes richiede l'installazione di un'estensione di backup nel cluster. Per eseguire le operazioni di backup e ripristino, le risorse personalizzate vengono create risorse personalizzate nel cluster. I pod di estensione che eseguono operazioni correlate al backup tramite queste richieste pull. Questo errore si verifica quando l'estensione non è in grado di aggiornare lo stato di queste richieste pull.

Azione consigliata: è necessario verificare l'integrità dell'estensione eseguendo il comando kubectl get pods -n dataprotection.microsoft. Se i pod non sono in esecuzione, aumentare il numero di nodi nel cluster 1 o aumentare i limiti di calcolo. Attendere quindi alcuni minuti ed eseguire di nuovo il comando, che dovrebbe modificare lo stato dei pod in modo che siano in esecuzione. Se il problema persiste, eliminare e reinstallare l'estensione.

BackupPluginDeleteBackupOperationFailed

Causa: l'estensione di backup deve essere in esecuzione per eliminare i backup.

Azione consigliata: se il cluster è in esecuzione, verificare se l'estensione è in esecuzione in uno stato integro. Controllare se i pod di estensione vengono generati; in caso contrario, aumentare i nodi. In caso di errore, provare a eliminare e reinstallare l'estensione. Se il cluster di cui è stato eseguito il backup viene eliminato, eliminare manualmente gli snapshot e i metadati.

ExtensionTimedOutWaitingForBackupItemSync

Causa: l'estensione di backup attende che gli elementi di backup vengano sincronizzati con l'account di archiviazione.

Azione consigliata: se viene visualizzato questo codice di errore, ripetere l'operazione di backup o reinstallare l'estensione.

Errori basati sul percorso di archiviazione di backup

Questi codici di errore vengono visualizzati a causa di problemi basati sull'estensione di backup installata nel cluster del servizio Azure Kubernetes.

UserErrorDeleteBackupFailedBackupStorageLocationReadOnly

Causa: l'account di archiviazione fornito come input durante l'installazione dell'estensione di backup è in stato fi sola lettura, che non consente di eliminare i dati di backup dal contenitore BLOB.

Azione consigliata: modificare lo stato dell'account di archiviazione da sola lettura a scrittura.

UserErrorDeleteBackupFailedBackupStorageLocationNotFound

Causa: durante l'installazione dell'estensione, è necessario specificare un percorso di archiviazione di backup come input che include un account di archiviazione e un contenitore BLOB. Questo errore viene visualizzato se il percorso viene eliminato o aggiunto in modo non corretto durante l'installazione dell'estensione.

Azione consigliata: eliminare l'estensione backup e quindi reinstallarla con l'account di archiviazione e il contenitore BLOB corretti come input.

UserErrorBackupFailedBackupStorageLocationReadOnly

Causa: l'account di archiviazione fornito come input durante l'installazione dell'estensione di backup è in stato fi sola lettura, che non consente di scrivere dati di backup nel contenitore BLOB.

Azione consigliata: modificare lo stato dell'account di archiviazione da sola lettura a scrittura.

UserErrorNoDefaultBackupStorageLocationFound

Causa: durante l'installazione dell'estensione, è necessario specificare un percorso di archiviazione di backup come input che include un account di archiviazione e un contenitore BLOB. L’errore viene visualizzato se il percorso viene eliminato o immesso in modo non corretto durante l'installazione dell'estensione.

Azione consigliata: eliminare l'estensione backup e quindi reinstallarla con l'account di archiviazione e il contenitore BLOB corretti come input.

UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation

Causa: l'estensione backup deve avere il ruolo collaboratore ai dati blob Archiviazione nel percorso di backup Archiviazione (account di archiviazione). L'identità dell'estensione ottiene questo ruolo assegnato.

Azione consigliata: se manca questo ruolo, usare il portale di Azure o l'interfaccia della riga di comando per riassegnare questa autorizzazione mancante per l'account di archiviazione.

UserErrorBackupStorageLocationNotReady

Causa: durante l'installazione dell'estensione, è necessario specificare un percorso di archiviazione di backup come input che include un account di archiviazione e un contenitore BLOB. L'estensione Backup deve avere Archiviazione ruolo Collaboratore dati BLOB nel percorso di backup Archiviazione (account di archiviazione). L'identità dell'estensione ottiene questo ruolo assegnato.

Azione consigliata: viene visualizzato l'errore se l'identità dell'estensione non dispone delle autorizzazioni appropriate per accedere all'account di archiviazione. Questo errore viene visualizzato se l'estensione di backup del servizio Azure Kubernetes viene installata per la prima volta durante la configurazione dell'operazione di protezione. Ciò si verifica per il tempo impiegato per la propagazione delle autorizzazioni concesse all'estensione di backup del servizio Azure Kubernetes. Come soluzione alternativa, attendere un'ora e ripetere la configurazione della protezione. In caso contrario, usare il portale di Azure o l'interfaccia della riga di comando per riassegnare questa autorizzazione mancante per l'account di archiviazione.

Errori basati su backup con insieme di credenziali

Questo codice di errore può essere visualizzato durante l'abilitazione del backup del servizio Azure Kubernetes per archiviare i backup in un archivio dati standard dell'insieme di credenziali.

DppUserErrorVaultTierPolicyNotSupported

Causa: questo codice di errore viene visualizzato quando vengono creati criteri di backup con regola di conservazione definita per l'archivio dati standard dell'insieme di credenziali per un insieme di credenziali di backup in un'area in cui questo archivio dati non è supportato.

Azione consigliata: aggiornare la regola di conservazione con la durata standard dell'insieme di credenziali definita nel portale di Azure:

  1. Selezionare l’icona Modifica accanto alla regola.

    Screenshot che mostra come modificare la durata di conservazione dei backup del servizio Azure Kubernetes.

  2. Deselezionare la casella di controllo accanto aStandard dell'insieme di credenziali e quindi selezionare Aggiorna.

    Screenshot che mostra la cancellazione della casella di controllo vault-standard.

  3. Creare criteri di backup per il backup del livello operativo (solo gli snapshot per il cluster del servizio Azure Kubernetes).

Processi di backup e ripristino del servizio Azure Kubernetes completati con avvisi

UserErrorPVSnapshotDisallowedByPolicy

Codice errore: UserErrorPVSnapshotDisallowedByPolicy

Causa: un criterio di Azure viene assegnato tramite una sottoscrizione che impedisce al driver CSI di acquisire lo snapshot del volume.

Azione consigliata: rimuovere il Criteri di Azure che impedisce l'operazione di snapshot del disco e quindi eseguire un backup su richiesta.

UserErrorPVSnapshotLimitReached

Codice errore: UserErrorPVSnapshotLimitReached

Causa: esiste un numero limitato di snapshot per un volume persistente che può esistere in un momento specifico. Per i volumi persistenti basati su disco di Azure, il limite è di 500 snapshot. Questo errore viene visualizzato quando gli snapshot per volumi persistenti specifici non vengono acquisiti a causa dell'esistenza di snapshot superiori ai limiti supportati.

Azione consigliata: aggiornare i criteri di backup per ridurre la durata di conservazione e attendere che Backup Vault elimini i punti di ripristino meno recenti.

CSISnapshottingTimedOut

Codice errore: CSISnapshottingTimedOut

Causa: lo snapshot non è riuscito perché il driver CSI sta recuperando il timeout per recuperare l'handle di snapshot.

Azione consigliata: esaminare i log e ripetere l'operazione per ottenere snapshot riusciti eseguendo un backup su richiesta o attendere il backup pianificato successivo.

UserErrorHookExecutionFailed

Codice errore: UserErrorHookExecutionFailed

Causa: quando gli hook applicati per l'esecuzione insieme ai backup e ai ripristini hanno rilevato un errore e non vengono applicati correttamente.

Azione consigliata: esaminare i log, aggiornare gli hook e quindi ripetere l'operazione di backup/ripristino.

UserErrorNamespaceNotFound

Codice errore: UserErrorNamespaceNotFound

Causa: gli spazi dei nomi forniti in Configurazione di backup non sono presenti durante l'esecuzione dei backup. Lo spazio dei nomi è stato specificato in modo errato o è stato eliminato.

Azione consigliata: verificare se gli spazi dei nomi di cui eseguire il backup sono specificati correttamente.

UserErrorPVCHasNoVolume

Codice errore: UserErrorPVCHasNoVolume

Causa: l'attestazione di volume persistente (PVC) nel contesto non ha un volume persistente collegato. Quindi, il PVC non verrà sottoposto a backup.

Azione consigliata: collegare un volume al PVC, se necessario eseguire il backup.

UserErrorPVCNotBoundToVolume

Codice errore: UserErrorPVCNotBoundToVolume

Causa: il PVC nel contesto è in sospeso e non ha un volume persistente collegato. Quindi, il PVC non verrà sottoposto a backup.

Azione consigliata: collegare un volume al PVC, se necessario eseguire il backup.

UserErrorPVNotFound

Codice errore: UserErrorPVNotFound

Causa: manca il supporto di archiviazione sottostante per il volume persistente.

Azione consigliata: controllare e collegare un nuovo volume permanente con supporto di archiviazione effettivo collegato.

UserError Archiviazione ClassMissingForPVC

Codice errore: UserError Archiviazione ClassMissingForPVC

Causa: il backup del servizio Azure Kubernetes controlla la classe di archiviazione usata e ignora l'acquisizione di snapshot dal volume persistente a causa dell'indisponibilità della classe.

Azione consigliata: aggiornare le specifiche di PVC con la classe di archiviazione usata.

UserErrorSourceandTargetClusterCRDVersionMismatch

Codice errore: UserErrorSourceandTargetClusterCRDVersionMismatch

Causa: il cluster del servizio Azure Kubernetes di origine e il cluster del servizio Azure Kubernetes di destinazione durante il ripristino hanno versioni diverse di CR FlowSchema e PriorityLevelConfigurations. Alcune risorse Kubernetes non vengono ripristinate a causa della mancata corrispondenza nelle versioni del cluster.

Azione consigliata: usare la stessa versione del cluster per il cluster di destinazione come cluster di origine o applicare manualmente le richieste pull.

Passaggi successivi