Freigeben über


Problembehandlung der Azure Kubernetes Service-Sicherung und -Wiederherstellung

Dieser Artikel enthält Schritte zur Problembehandlung, die Ihnen helfen, Fehler bei der Azure Kubernetes Service (AKS)-Sicherung, -Wiederherstellung und -Verwaltung zu beheben.

Fehlerauflösung bei der Installation der AKS-Sicherungserweiterung

Szenario 1

Fehlermeldung:

{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"`

Ursache: Die Erweiterung wird erfolgreich installiert, die Pods werden jedoch nicht erzeugt, da die erforderlichen Ressourcen für Compute und Arbeitsspeicher für die Pods nicht verfügbar sind.

Lösung: Um das Problem zu beheben, erhöhen Sie die Anzahl der Knoten im Cluster, sodass genügend Ressourcen für Compute und Arbeitsspeicher verfügbar sind, damit die Pods erzeugt werden können. Führen Sie die folgenden Schritte aus, um den Knotenpool im Azure-Portal zu skalieren:

  1. Öffnen Sie im Azure-Portal den AKS-Cluster.
  2. Wechseln Sie unter Einstellungen zu Knotenpools.
  3. Wählen Sie Knotenpool skalieren aus, und aktualisieren Sie dann die Minimum- und Maximumwerte für den Knotenanzahlbereich.
  4. Wählen Sie Übernehmen.

Szenario 2

Fehlermeldung:

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-

Ursache: Wenn Sie in Ihrem AKS-Cluster verwaltete Podidentitäten aktivieren, wird eine AzurePodIdentityException mit dem Namen aks-addon-exception zum kube-system-Namespace hinzugefügt. Eine AzurePodIdentityException ermöglicht Pods mit bestimmten Bezeichnungen den Zugriff auf den Azure Instance Metadata Service (IMDS)-Endpunkt, ohne dass sie vom NMI-Server abgefangen werden.

Die Erweiterungspods sind nicht ausgenommen und erfordern, dass die Microsoft Entra-Podidentität manuell aktiviert wird.

Lösung: Erstellen Sie eine Podidentitätsausnahme im AKS-Cluster (dies funktioniert nur für den dataprotection-microsoft-Namespace und für nicht kube-system). Weitere Informationen

  1. Führen Sie den folgenden Befehl aus:

    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. Führen Sie den folgenden Befehl aus, um Azurepodidentityexceptions im Cluster zu überprüfen:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Führen Sie den folgenden Befehl aus, um der Erweiterungsidentität die Rolle Mitwirkender an Storage-Blobdaten zuzuweisen:

    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
    

Szenario 3

Fehlermeldung:

{"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"}`

Ursache: Für die Verwendung von Clustererweiterungen in den AKS-Clustern sind bestimmte FQDN-/Anwendungsregeln erforderlich. Weitere Informationen

Dieser Fehler tritt aufgrund des Fehlens dieser FQDN-Regeln auf, da Konfigurationsinformationen aus dem Dienst für Clustererweiterungen nicht verfügbar waren.

Lösung: Um das Problem zu beheben, müssen Sie eine benutzerdefinierte CoreDNS-Außerkraftsetzung erstellen, damit der DP-Endpunkt das öffentliche Netzwerk durchläuft.

  1. Rufen Sie vorhandenes, benutzerdefiniertes CoreDNS-YAML in Ihrem Cluster ab (speichern Sie es lokal, damit Sie später wieder darauf zugreifen können):

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Setzen Sie die Zuordnung des Centralus DP-Endpunkts zur öffentlichen IP-Adresse außer Kraft (verwenden Sie das nachstehende YAML):

    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
               }
    

    Führen Sie nun den folgenden Befehl aus, um die YAML-Updatedatei anzuwenden:

    kubectl apply -f corednsms.yaml
    
  3. Führen Sie den folgenden Befehl aus, um das erneute Laden von coredns-Pods zu erzwingen:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Führen Sie den folgenden Befehl aus, um NSlookup aus dem ExtensionAgent-Pod auszuführen, um zu überprüfen, ob coreDNS-custom funktioniert:

    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. Führen Sie den folgenden Befehl aus, um die Protokolle des ExtensionAgent-Pods zu überprüfen:

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Löschen Sie die Backup-Erweiterung, und installieren Sie diese erneut, um die Sicherung zu initiieren.

Fehler nach der Installation der Backup-Erweiterung

Diese Fehlercodes werden aufgrund von Problemen bei der im AKS-Cluster installierten Backup-Erweiterung angezeigt.

KubernetesBackupListExtensionsError:

Ursache: Beim Sichern eines Tresors im Rahmen einer Überprüfung wird überprüft, ob für den Cluster die Sicherungserweiterung installiert ist. Dazu benötigt die Tresor-MSI eine Leseberechtigung für den AKS-Cluster, sodass alle im Cluster installierten Erweiterungen aufgeführt werden können.

Empfohlene Aktion: Weisen Sie die Leserolle erneut zur Tresor-MSI hinzu (entfernen Sie die vorhandene Rollenzuweisung, und weisen Sie die Leserolle erneut zu), da der zugewiesenen Leserolle die Berechtigung list-extension fehlt. Wenn die Neuzuweisung fehlschlägt, verwenden Sie einen anderen Backup-Tresor, um die Sicherung zu konfigurieren.

UserErrorKubernetesBackupExtensionNotFoundError

Ursache: Beim Sichern eines Tresors im Rahmen einer Überprüfung wird überprüft, ob für den Cluster die Backup-Erweiterung installiert ist. Der Tresor führt einen Vorgang aus, um die im Cluster installierten Erweiterungen aufzulisten. Wenn die Backup-Erweiterung in der Liste nicht vorhanden ist, wird dieser Fehler angezeigt.

Empfohlene Aktion: Verwenden Sie die CLI oder den Azure-Portalclient, um die Erweiterung zu löschen, und installieren Sie die Erweiterung dann erneut.

UserErrorKubernetesBackupExtensionHasErrors

Ursache: Die im Cluster installierte Backup-Erweiterung weist einige interne Fehler auf.

Empfohlene Aktion: Verwenden Sie die CLI oder den Azure-Portalclient, um die Erweiterung zu löschen, und installieren Sie die Erweiterung dann erneut.

UserErrorKubernetesBackupExtensionIdentityNotFound

Ursache: Für die AKS-Sicherung muss eine Backup-Erweiterung im Cluster installiert sein. Für die Erweiterung zusammen mit ihrer Installation wird eine Benutzeridentität erstellt, die als Erweiterungs-MSI bezeichnet wird. Diese MSI wird in der Ressourcengruppe erstellt, die die Knotenpools für den AKS-Cluster umfasst. Diese MSI ruft die erforderlichen Rollen ab, die für den Zugriff auf den Speicherort des Sicherungsspeichers zugewiesen sind. Der Fehlercode deutet darauf hin, dass die Erweiterungsidentität fehlt.

Empfohlene Aktion: Verwenden Sie die CLI oder den Azure-Portalclient, um die Erweiterung zu löschen, und installieren Sie die Erweiterung dann erneut. Zusammen mit der Erweiterung wird eine neue Identität erstellt.

KubernetesBackupCustomResourcesTrackingTimeOutError

Ursache: Azure Backup für AKS erfordert die Installation einer Backup-Erweiterung im AKS-Cluster. Zum Ausführen von Sicherungs- und Wiederherstellungsvorgängen werden benutzerdefinierte Ressourcen im Cluster erstellt. Die von der Erweiterung erzeugten Pods führen Sicherungsvorgänge über diese benutzerdefinierten Ressourcen aus. Dieser Fehler tritt auf, wenn die Erweiterung den Status dieser benutzerdefinierten Ressourcen nicht aktualisieren kann.

Empfohlene Aktion: Die Integrität der Erweiterung muss über die Ausführung des Befehls kubectl get pods -n dataprotection.microsoft überprüft werden. Wenn sich die Pods nicht im Zustand „Wird ausgeführt“ befinden, erhöhen Sie die Anzahl der Knoten im Cluster um 1, oder erhöhen Sie die Computelimits. Warten Sie dann einige Minuten, und führen Sie den Befehl erneut aus. Dadurch sollte der Zustand der Pods in Wird ausgeführt geändert werden. Wenn das Problem weiterhin besteht, löschen Sie die Erweiterung, und installieren Sie sie erneut.

BackupPluginDeleteBackupOperationFailed

Ursache: Die Backup-Erweiterung sollte ausgeführt werden, um die Sicherungen zu löschen.

Empfohlene Aktion: Wenn der Cluster ausgeführt wird, überprüfen Sie, ob die Erweiterung ordnungsgemäß ausgeführt wird. Überprüfen Sie, ob die Erweiterungspods erzeugt werden. Erhöhen Sie andernfalls die Anzahl der Knoten. Wenn dies nicht erfolgreich ist, versuchen Sie, die Erweiterung zu löschen und erneut zu installieren. Wenn der gesicherte Cluster gelöscht wird, löschen Sie die Momentaufnahmen und Metadaten manuell.

ExtensionTimedOutWaitingForBackupItemSync

Ursache: Die Sicherungserweiterung wartet auf die Synchronisierung der Sicherungselemente mit dem Speicherkonto.

Empfohlene Aktion: Wenn dieser Fehlercode angezeigt wird, wiederholen Sie entweder den Sicherungsvorgang, oder installieren Sie die Erweiterung erneut.

Fehler im Zusammenhang mit dem Sicherungsspeicherort

Diese Fehlercodes werden aufgrund von Problemen im Zusammenhang mit der im AKS-Cluster installierten Backup-Erweiterung angezeigt.

UserErrorDeleteBackupFailedBackupStorageLocationReadOnly

Ursache: Das Speicherkonto, das während der Installation der Backup-Erweiterung als Eingabe bereitgestellt wird, hat den Status Schreibgeschützt. Daher können die Sicherungsdaten nicht aus dem Blobcontainer gelöscht werden.

Empfohlene Aktion: Ändern Sie den Status des Speicherkontos von Schreibgeschützt in Schreiben.

UserErrorDeleteBackupFailedBackupStorageLocationNotFound

Ursache: Während der Erweiterungsinstallation muss ein Sicherungsspeicherort als Eingabe bereitgestellt werden, der ein Speicherkonto und einen Blobcontainer enthält. Dieser Fehler wird angezeigt, wenn der Speicherort während der Erweiterungsinstallation gelöscht wird oder falsch hinzugefügt wurde.

Empfohlene Aktion: Löschen Sie die Backup-Erweiterung, und installieren Sie sie anschließend erneut mit dem richtigen Speicherkonto und Blobcontainer als Eingabe.

UserErrorBackupFailedBackupStorageLocationReadOnly

Ursache: Das Speicherkonto, das während der Installation der Backup-Erweiterung als Eingabe bereitgestellt wird, hat den Status Schreibgeschützt. Daher können keine Sicherungsdaten in den Blobcontainer geschrieben werden.

Empfohlene Aktion: Ändern Sie den Status des Speicherkontos von Schreibgeschützt in Schreiben.

UserErrorNoDefaultBackupStorageLocationFound

Ursache: Während der Erweiterungsinstallation muss ein Sicherungsspeicherort als Eingabe bereitgestellt werden, der ein Speicherkonto und einen Blobcontainer enthält. Der Fehler wird angezeigt, wenn der Speicherort während der Erweiterungsinstallation gelöscht oder falsch eingegeben wird.

Empfohlene Aktion: Löschen Sie die Backup-Erweiterung, und installieren Sie sie anschließend erneut mit dem richtigen Speicherkonto und Blobcontainer als Eingabe.

UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation

Ursache: Die Backup-Erweiterung muss über die Rolle Mitwirkender an Storage-Blobdaten für den Sicherungsspeicherort (Speicherkonto) verfügen. Der Erweiterungsidentität wird diese Rolle zugewiesen.

Empfohlene Aktion: Wenn diese Rolle fehlt, verwenden Sie das Azure-Portal oder die CLI, um diese fehlende Berechtigung für das Speicherkonto neu zuzuweisen.

UserErrorBackupStorageLocationNotReady

Ursache: Während der Erweiterungsinstallation muss ein Sicherungsspeicherort als Eingabe bereitgestellt werden, der ein Speicherkonto und einen Blobcontainer enthält. Die Backup-Erweiterung muss über die Rolle Mitwirkender an Storage-Blobdaten für den Sicherungsspeicherort (Speicherkonto) verfügen. Der Erweiterungsidentität wird diese Rolle zugewiesen.

Empfohlene Aktion: Der Fehler wird angezeigt, wenn die Erweiterungsidentität nicht über die erforderlichen Berechtigungen für den Zugriff auf das Speicherkonto verfügt. Dieser Fehler wird angezeigt, wenn die AKS-Sicherungserweiterung beim ersten Konfigurieren des Schutzvorgangs installiert wird. Dies geschieht für die Zeit, die für die Weitergabe der erteilten Berechtigungen an die AKS-Sicherungserweiterung erforderlich ist. Warten Sie als Problemumgehung eine Stunde, und wiederholen Sie die Konfiguration für den Schutz. Verwenden Sie andernfalls das Azure-Portal oder die CLI, um diese fehlende Berechtigung für das Speicherkonto neu zuzuweisen.

Fehler im Zusammenhang mit der Tresorsicherung

Dieser Fehlercode kann angezeigt werden, während Sie die AKS-Sicherung zum Speichern von Sicherungen in einem Tresor-Standarddatenspeicher aktivieren.

DppUserErrorVaultTierPolicyNotSupported

Ursache: Dieser Fehlercode wird angezeigt, wenn eine Sicherungsrichtlinie mit Aufbewahrungsregel erstellt wird, die für den Tresor-Standarddatenspeicher für einen Backup-Tresor in einer Region definiert ist, in der dieser Datenspeicher nicht unterstützt wird.

Empfohlene Aktion: Aktualisieren Sie die Aufbewahrungsregel mit der im Azure-Portal definierten Tresorstandarddauer:

  1. Wählen Sie das Symbol Bearbeiten neben der Regel aus.

    Screenshot: Bearbeiten der Aufbewahrungsdauer der AKS-Sicherungen.

  2. Deaktivieren Sie das Kontrollkästchen neben Tresor – Standard, und wählen Sie dann Aktualisieren aus.

    Screenshot: Deaktivieren des Kontrollkästchens für den Tresorstandard.

  3. Erstellen Sie eine Sicherungsrichtlinie für die Sicherung der Betriebsebene (nur Momentaufnahmen für den AKS-Cluster).

Sicherungs- und Wiederherstellungsaufträge in AKS mit Warnungen abgeschlossen

UserErrorPVSnapshotDisallowedByPolicy

Fehlercode: UserErrorPVSnapshotDisallowedByPolicy

Ursache: Eine Azure-Richtlinie wird für ein Abonnement zugewiesen, das den CSI-Treiber beendet, um die Volumemomentaufnahme zu erstellen.

Empfohlene Aktion: Entfernen Sie die Azure-Richtlinie, die den Vorgang für die Datenträgermomentaufnahme beendet, und führen Sie dann eine bedarfsgesteuerte Sicherung aus.

UserErrorPVSnapshotLimitReached

Fehlercode: UserErrorPVSnapshotLimitReached

Ursache: Es gibt eine begrenzte Anzahl von Momentaufnahmen für ein persistentes Volume, die zu einem bestimmten Zeitpunkt vorhanden sein können. Bei auf Azure-Datenträgern basierenden persistenten Volumes beträgt der Grenzwert 500 Momentaufnahmen. Dieser Fehler wird angezeigt, wenn Momentaufnahmen für bestimmte persistente Volumes nicht erstellt werden, weil die Anzahl der vorhandenen Momentaufnahmen die unterstützten Grenzwerte überschreitet.

Empfohlene Aktion: Aktualisieren Sie die Sicherungsrichtlinie, um den Aufbewahrungszeitraum zu verkürzen, und warten Sie, bis der Sicherungstresor ältere Wiederherstellungspunkte löscht.

CSISnapshottingTimedOut

Fehlercode: CSISnapshottingTimedOut

Ursache: Bei der Momentaufnahme ist ein Fehler aufgetreten, da beim CSI-Treiber beim Abrufen des Momentaufnahmehandles ein Timeout auftritt.

Empfohlene Aktion: Überprüfen Sie die Protokolle, und wiederholen Sie den Vorgang, um erfolgreiche Momentaufnahmen zu erhalten, indem Sie eine bedarfsgesteuerte Sicherung ausführen oder auf die nächste geplante Sicherung warten.

UserErrorHookExecutionFailed

Fehlercode: UserErrorHookExecutionFailed

Ursache: Wenn bei Hooks, die zusammen mit Sicherungen und Wiederherstellungen angewendet werden, ein Fehler auftritt und sie daher nicht erfolgreich angewendet werden.

Empfohlene Aktion: Überprüfen Sie die Protokolle, aktualisieren Sie die Hooks, und wiederholen Sie dann den Sicherungs-/Wiederherstellungsvorgang.

UserErrorNamespaceNotFound

Fehlercode: UserErrorNamespaceNotFound

Ursache: In der Sicherungskonfiguration bereitgestellte Namespaces fehlen beim Ausführen von Sicherungen. Entweder wurde der Namespace falsch angegeben oder gelöscht.

Empfohlene Aktion: Überprüfen Sie, ob die zu sichernden Namespaces ordnungsgemäß angegeben wurden.

UserErrorPVCHasNoVolume

Fehlercode: UserErrorPVCHasNoVolume

Ursache: An den Anspruch auf persistentes Volume (Persistent Volume Claim, PVC) im Kontext ist kein persistentes Volume angefügt. Der PVC wird also nicht gesichert.

Empfohlene Aktion: Fügen Sie ein Volume an den PVC an, wenn er gesichert werden muss.

UserErrorPVCNotBoundToVolume

Fehlercode: UserErrorPVCNotBoundToVolume

Ursache: Der PVC im Kontext befindet sich im Zustand Ausstehend, und an ihn ist kein persistentes Volume angefügt. Der PVC wird also nicht gesichert.

Empfohlene Aktion: Fügen Sie ein Volume an den PVC an, wenn er gesichert werden muss.

UserErrorPVNotFound

Fehlercode: UserErrorPVNotFound

Ursache: Das zugrunde liegende Speichermedium für das persistente Volume fehlt.

Empfohlene Aktion: Überprüfen Sie ein neues persistentes Volume mit einem tatsächlich angefügten Speichermedium, und fügen sie es entsprechend an.

UserErrorStorageClassMissingForPVC

Fehlercode: UserErrorStorageClassMissingForPVC

Ursache: Die AKS-Sicherung überprüft die verwendete Speicherklasse und überspringt das persistente Volume bei der Erstellung von Momentaufnahmen, da die Klasse nicht verfügbar ist.

Empfohlene Aktion: Aktualisieren Sie die PVC-Spezifikationen mit der verwendeten Speicherklasse.

UserErrorSourceandTargetClusterCRDVersionMismatch

Fehlercode: UserErrorSourceandTargetClusterCRDVersionMismatch

Ursache: Der AKS-Quellcluster und der AKS-Zielcluster weisen während der Wiederherstellung unterschiedliche Versionen von FlowSchema- und PriorityLevelConfigurations-CRs auf. Einige Kubernetes-Ressourcen werden aufgrund des Konflikts bei den Clusterversionen nicht wiederhergestellt.

Empfohlene Aktion: Verwenden Sie dieselbe Clusterversion für den Zielcluster wie für den Quellcluster, oder wenden Sie die CRs manuell an.

Nächste Schritte