Problemen met back-up en herstel van Azure Kubernetes Service oplossen
Dit artikel bevat stappen voor probleemoplossing waarmee u back-up-, herstel- en beheerfouten in Azure Kubernetes Service (AKS) kunt oplossen.
Oplossingen voor installatiefouten in AKS Backup Extension
Scenario 1
Foutbericht:
{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"`
Oorzaak: de extensie is geïnstalleerd, maar de pods worden niet weergegeven omdat de vereiste rekenkracht en het vereiste geheugen niet beschikbaar zijn voor de pods.
Oplossing: Als u het probleem wilt oplossen, verhoogt u het aantal knooppunten in het cluster, zodat er voldoende rekenkracht en geheugen beschikbaar zijn om de pods te laten spawn. Voer de volgende stappen uit om de schaal van een knooppuntgroep in De Azure-portal te schalen:
- Open het AKS-cluster in Azure Portal.
- Ga naar knooppuntgroepen onder Instellingen.
- Selecteer Knooppuntgroep schalen en werk vervolgens de minimum - en maximumwaarden voor het aantal knooppunten bij.
- Selecteer Toepassen.
Scenario 2
Foutbericht:
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-
Oorzaak: Wanneer u een door pod beheerde identiteit inschakelt in uw AKS-cluster, wordt een AzurePodIdentityException met de naam aks-addon-exception toegevoegd aan de kube-system-naamruimte . Met een AzurePodIdentityException kunnen pods met bepaalde labels toegang krijgen tot het IMDS-eindpunt (Azure Instance Metadata Service) die niet worden onderschept door de NMI-server.
De extensiepods zijn niet vrijgesteld en vereisen dat de Microsoft Entra-pod-identiteit handmatig wordt ingeschakeld.
Oplossing: Een uitzondering voor pod-identiteit maken in een AKS-cluster (dat alleen werkt voor de naamruimte dataprotection-microsoft en niet voor kube-system). Meer informatie.
Voer de volgende opdracht uit:
az aks pod-identity exception add --resource-group shracrg --cluster-name shractestcluster --namespace dataprotection-microsoft --pod-labels app.kubernetes.io/name=dataprotection-microsoft-kubernetes
Voer de volgende opdracht uit om Azurepodidentityexceptions in het cluster te verifiëren:
kubectl get Azurepodidentityexceptions --all-namespaces
Voer de volgende opdracht uit om de rol Inzender voor opslagblobgegevens toe te wijzen aan de extensie-identiteit:
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
Foutbericht:
{"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"}`
Oorzaak: specifieke FQDN-/toepassingsregels zijn vereist voor het gebruik van clusterextensies in de AKS-clusters. Meer informatie.
Deze fout wordt weergegeven als gevolg van afwezigheid van deze FQDN-regels vanwege welke configuratiegegevens van de service Clusterextensies niet beschikbaar waren.
Oplossing: Om het probleem op te lossen, moet u een aangepaste CoreDNS-onderdrukking maken voor het DP-eindpunt om het openbare netwerk door te geven.
Haal bestaande coreDNS-aangepaste YAML op in uw cluster (sla deze op uw lokale locatie op voor later gebruik)::
kubectl get configmap coredns-custom -n kube-system -o yaml
Overschrijvingstoewijzing voor centralus DP-eindpunt naar openbaar IP-adres (gebruik de onderstaande 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 }
Voer nu de onderstaande opdracht uit om het yaml-bestand bijwerken toe te passen:
kubectl apply -f corednsms.yaml
Voer de volgende opdracht uit om opnieuw laden
coredns
van pods af te dwingen:kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
Als u wilt uitvoeren
NSlookup
vanuit de ExtensionAgent-pod om te controleren of coreDNS-custom werkt, voert u de volgende opdracht uit:kubectl exec -i -t pod/extension-agent-<pod guid that's there in your cluster> -n kube-system -- nslookup centralus.dp.kubernetesconfiguration.azure.com
Voer de volgende opdracht uit om logboeken van de ExtensionAgent-pod te controleren:
kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
Verwijder de back-upextensie en installeer deze opnieuw om een back-up te starten.
Back-upextensie na installatie gerelateerde fouten
Deze foutcodes worden weergegeven vanwege problemen met de back-upextensie die is geïnstalleerd in het AKS-cluster.
KubernetesBackupListExtensionsError:
Oorzaak: Back-upkluis als onderdeel van een validatie controleert of de back-upextensie voor het cluster is geïnstalleerd. Hiervoor heeft de Vault MSI een lezermachtiging nodig voor het AKS-cluster, zodat alle extensies die in het cluster zijn geïnstalleerd, kunnen worden weergegeven.
Aanbevolen actie: Wijs de rol Lezer opnieuw toe aan de Kluis-MSI (verwijder de bestaande roltoewijzing en wijs de rol Lezer opnieuw toe), omdat de toegewezen rol Lezer de machtiging voor de lijstextensie ontbreekt. Als het opnieuw toewijzen mislukt, gebruikt u een andere Backup-kluis om back-ups te configureren.
UserErrorKubernetesBackupExtensionNotFoundError
Oorzaak: Back-upkluis als onderdeel van de validatie controleert of de back-upextensie voor het cluster is geïnstalleerd. Vault voert een bewerking uit om de extensies weer te geven die in het cluster zijn geïnstalleerd. Als de back-upextensie niet aanwezig is in de lijst, wordt deze fout weergegeven.
Aanbevolen actie: Gebruik de CL- of Azure Portal-client om de extensie te verwijderen en installeer de extensie opnieuw.
UserErrorKubernetesBackupExtensionHasErrors
Oorzaak: De back-upextensie die in het cluster is geïnstalleerd, bevat enkele interne fouten.
Aanbevolen actie: Gebruik de CL- of Azure Portal-client om de extensie te verwijderen en installeer de extensie opnieuw.
UserErrorKubernetesBackupExtensionIdentityNotFound
Oorzaak: Voor een AKS-back-up is een back-upextensie vereist die in het cluster is geïnstalleerd. De extensie heeft samen met de installatie een gebruikersidentiteit gemaakt met de naam extensie MSI. Deze MSI wordt gemaakt in de resourcegroep die bestaat uit de knooppuntgroepen voor het AKS-cluster. Met deze MSI worden de vereiste rollen opgehaald die zijn toegewezen voor toegang tot de back-upopslaglocatie. De foutcode geeft aan dat de extensie-id ontbreekt.
Aanbevolen actie: Gebruik de CLI of de Azure Portal-client om de extensie te verwijderen en installeer de extensie opnieuw. Er wordt een nieuwe identiteit gemaakt samen met de extensie.
KubernetesBackupCustomResourcesTrackingTimeOutError
Oorzaak: Voor Azure Backup voor AKS moet een back-upextensie worden geïnstalleerd in het cluster. Als u de back-up- en herstelbewerkingen wilt uitvoeren, worden aangepaste resources in het cluster gemaakt. De extensie-spawn pods die back-upbewerkingen uitvoeren via deze CA's. Deze fout treedt op wanneer de extensie de status van deze CA's niet kan bijwerken.
Aanbevolen actie: de status van de extensie moet worden geverifieerd via het uitvoeren van de opdracht kubectl get pods -n dataprotection.microsoft
. Als de pods niet actief zijn, verhoogt u het aantal knooppunten in het cluster met 1 of verhoogt u de rekenlimieten. Wacht een paar minuten en voer de opdracht opnieuw uit, waardoor de status van de pods moet worden gewijzigd in uitvoering. Als het probleem zich blijft voordoen, verwijdert en installeert u de extensie opnieuw.
BackupPluginPodRestartedDuringBackupError
Oorzaak: Back-upextensiepod (dataprotection-microsoft-kubernetes-agent) in uw AKS-cluster ondervindt instabiliteit vanwege onvoldoende CPU/geheugenbronnen op het huidige knooppunt, wat leidt tot OOM (onvoldoende geheugen) kill-incidenten. Dit kan worden veroorzaakt door een lagere rekenkracht die is aangevraagd door de pod van de back-upextensie.
Aanbevolen actie: We raden u aan om de rekenwaarden te verhogen die aan deze pod zijn toegewezen. Hierdoor wordt deze automatisch ingericht op een ander knooppunt in uw AKS-cluster met voldoende rekenresources beschikbaar.
De huidige waarde van de berekening voor deze pod is:
resources.requests.cpu is 500m resources.requests.memory is 128Mi Wijzig de geheugentoewijzing in 512Mi door de parameter resources.requests.memory bij te werken. Als het probleem zich blijft voordoen, is het raadzaam om de parameter resources.requests.cpu te verhogen naar 900m, na de geheugentoewijzing. U kunt de waarden voor de parameters verhogen door de volgende stappen uit te voeren:
- Navigeer naar de blade AKS-cluster in Azure Portal.
- Klik op Extensions+Applications en selecteer de extensie 'azure-aks-backup'.
- Werk de configuratie-instellingen in de portal bij door het volgende sleutel-waardepaar toe te voegen. resources.requests.cpu 900m resources.requests.memory 512Mi
BackupPluginDeleteBackupOperationFailed
Oorzaak: De back-upextensie moet worden uitgevoerd om de back-ups te verwijderen.
Aanbevolen actie: als het cluster wordt uitgevoerd, controleert u of de extensie in orde is. Controleer of de extensiepods spawning zijn, anders verhoogt u de knooppunten. Als dat mislukt, verwijdert en installeert u de extensie opnieuw. Als het back-upcluster wordt verwijderd, verwijdert u de momentopnamen en metagegevens handmatig.
ExtensionTimedOutWaitingForBackupItemSync
Oorzaak: De back-upextensie wacht tot de back-upitems zijn gesynchroniseerd met het opslagaccount.
Aanbevolen actie: Als deze foutcode wordt weergegeven, voert u de back-upbewerking opnieuw uit of installeert u de extensie opnieuw.
Fouten op basis van back-upopslaglocatie
Deze foutcodes worden weergegeven vanwege problemen op basis van de back-upextensie die is geïnstalleerd in het AKS-cluster.
UserErrorDeleteBackupFailedBackupStorageLocationReadOnly
Oorzaak: Het opslagaccount dat is opgegeven als invoer tijdens de installatie van de back-upextensie, heeft de status Alleen-lezen , waardoor de back-upgegevens niet uit de blobcontainer kunnen worden verwijderd.
Aanbevolen actie: wijzig de status van het opslagaccount van alleen-lezen om te schrijven.
UserErrorDeleteBackupFailedBackupStorageLocationNotFound
Oorzaak: Tijdens de installatie van de extensie moet een back-upopslaglocatie worden opgegeven als invoer die een opslagaccount en blobcontainer bevat. Deze fout wordt weergegeven als de locatie wordt verwijderd of onjuist is toegevoegd tijdens de installatie van de extensie.
Aanbevolen actie: verwijder de back-upextensie en installeer deze opnieuw met het juiste opslagaccount en de blobcontainer als invoer.
UserErrorBackupFailedBackupStorageLocationReadOnly
Oorzaak: Het opslagaccount dat is opgegeven als invoer tijdens de installatie van de back-upextensie, heeft de status Alleen-lezen , waardoor back-upgegevens niet kunnen worden geschreven in de blobcontainer.
Aanbevolen actie: wijzig de status van het opslagaccount van alleen-lezen om te schrijven.
UserErrorNoDefaultBackupStorageLocationFound
Oorzaak: Tijdens de installatie van de extensie moet een back-upopslaglocatie worden opgegeven als invoer, waaronder een opslagaccount en blobcontainer. De fout wordt weergegeven als de locatie wordt verwijderd of onjuist is ingevoerd tijdens de installatie van de extensie.
Aanbevolen actie: verwijder de back-upextensie en installeer deze opnieuw met het juiste opslagaccount en de blobcontainer als invoer.
UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation
Oorzaak: De back-upextensie moet de rol Inzender voor opslagblobgegevens hebben op de locatie van de back-upopslag (opslagaccount). Aan de extensie-id wordt deze rol toegewezen.
Aanbevolen actie: Als deze rol ontbreekt, gebruikt u Azure Portal of CLI om deze ontbrekende machtiging voor het opslagaccount opnieuw toe te passen.
UserErrorBackupStorageLocationNotReady
Oorzaak: Tijdens de installatie van de extensie wordt een back-upopslaglocatie opgegeven als invoer die een opslagaccount en blobcontainer bevat. De back-upextensie moet de rol Opslagblobgegevensbijdrager hebben op de locatie van de back-upopslag (opslagaccount). Aan de extensie-id wordt deze rol toegewezen.
Aanbevolen actie: de fout wordt weergegeven als de extensie-id niet over de juiste machtigingen beschikt voor toegang tot het opslagaccount. Deze fout wordt weergegeven als de AKS-back-upextensie de eerste keer wordt geïnstalleerd bij het configureren van de beveiligingsbewerking. Dit gebeurt voor de tijd die nodig is voor de verleende machtigingen om door te geven aan de AKS-back-upextensie. Wacht als tijdelijke oplossing een uur en probeer de beveiligingsconfiguratie opnieuw uit te voeren. Gebruik anders Azure Portal of CLI om deze ontbrekende machtiging voor het opslagaccount opnieuw toe te passen.
UserErrorSnapshotResourceGroupHasLocks
Oorzaak: Deze foutcode wordt weergegeven wanneer een verwijderings- of leesvergrendeling is toegepast op de resourcegroep momentopname die is opgegeven als invoer voor de back-upextensie.
Aanbevolen actie: Als u een nieuw back-upexemplaren configureert, gebruikt u een resourcegroep zonder een verwijderings- of leesvergrendeling. Als het back-upexemplaren al is geconfigureerd, verwijdert u de vergrendeling uit de resourcegroep voor momentopnamen.
Fouten op basis van gekluisde back-ups
Deze foutcodes kunnen worden weergegeven terwijl u AKS-back-ups inschakelt voor het opslaan van back-ups in een standaardgegevensarchief van een kluis.
DppUserErrorVaultTierPolicyNotSupported
Oorzaak: Deze foutcode wordt weergegeven wanneer een back-upbeleid wordt gemaakt met een bewaarregel die is gedefinieerd voor kluisstandaardgegevensopslag voor een Backup-kluis in een regio waar dit gegevensarchief niet wordt ondersteund.
Aanbevolen actie: Werk de bewaarregel bij met de standaardduur van de kluis die is gedefinieerd in Azure Portal:
Selecteer het pictogram Bewerken naast de regel.
Schakel het selectievakje naast de Kluisstandaard uit en selecteer Vervolgens Bijwerken.
Maak een back-upbeleid voor back-up van de operationele laag (alleen momentopnamen voor het AKS-cluster).
AKS-back-up- en hersteltaken voltooid met waarschuwingen
UserErrorPVSnapshotDisallowedByPolicy
Foutcode: UserErrorPVSnapshotDisallowedByPolicy
Oorzaak: Er wordt een Azure-beleid toegewezen via een abonnement dat het CSI-stuurprogramma stopt om de momentopname van het volume te maken.
Aanbevolen actie: Verwijder het Azure Policy dat de momentopnamebewerking van de schijf afgeeft en voer vervolgens een back-up op aanvraag uit.
UserErrorPVSnapshotLimitReached
Foutcode: UserErrorPVSnapshotLimitReached
Oorzaak: Er is een beperkt aantal momentopnamen voor een permanent volume dat op een bepaald tijdstip kan bestaan. Voor permanente volumes op basis van Azure Disk is de limiet 500 momentopnamen. Deze fout wordt weergegeven wanneer momentopnamen voor specifieke permanente volumes niet worden gemaakt vanwege het bestaan van momentopnamen die hoger zijn dan de ondersteunde limieten.
Aanbevolen actie: Werk het back-upbeleid bij om de retentieduur te verminderen en te wachten totdat Backup Vault de oudere herstelpunten verwijdert.
CSISnapshottingTimedOut
Foutcode: CSISnapshottingTimedOut
Oorzaak: Momentopname is mislukt omdat er een time-out optreedt voor het CSI-stuurprogramma om de momentopname-handle op te halen.
Aanbevolen actie: controleer de logboeken en voer de bewerking opnieuw uit om geslaagde momentopnamen te krijgen door een back-up op aanvraag uit te voeren of wacht op de volgende geplande back-up.
UserErrorHookExecutionFailed
Foutcode: UserErrorHookExecutionFailed
Oorzaak: Wanneer er een fout is opgetreden bij het uitvoeren van hooks om samen met back-ups en herstelbewerkingen uit te voeren, is er geen fout opgetreden.
Aanbevolen actie: Controleer de logboeken, werk de hooks bij en probeer vervolgens de back-up-/herstelbewerking opnieuw uit te voeren.
UserErrorNamespaceNotFound
Foutcode: UserErrorNamespaceNotFound
Oorzaak: naamruimten die zijn opgegeven in de back-upconfiguratie ontbreken tijdens het uitvoeren van back-ups. De naamruimte is onjuist opgegeven of is verwijderd.
Aanbevolen actie: controleer of de naamruimten waarvan een back-up moet worden gemaakt correct zijn opgegeven.
UserErrorPVCHasNoVolume
Foutcode: UserErrorPVCHasNoVolume
Oorzaak: De persistente volumeclaim (PVC) in de context heeft geen permanent volume eraan gekoppeld. Er wordt dus geen back-up gemaakt van het PVC.
Aanbevolen actie: Koppel een volume aan het PVC als er een back-up van moet worden gemaakt.
UserErrorPVCNotBoundToVolume
Foutcode: UserErrorPVCNotBoundToVolume
Oorzaak: Het PVC in context heeft de status In behandeling en heeft geen permanent volume eraan gekoppeld. Er wordt dus geen back-up gemaakt van het PVC.
Aanbevolen actie: Koppel een volume aan het PVC als er een back-up van moet worden gemaakt.
UserErrorPVNotFound
Foutcode: UserErrorPVNotFound
Oorzaak: Het onderliggende opslagmedium voor het permanente volume ontbreekt.
Aanbevolen actie: Controleer en bevestigde een nieuw permanent volume met werkelijke opslagmedium gekoppeld.
UserErrorStorageClassMissingForPVC
Foutcode: UserErrorStorageClassMissingForPVC
Oorzaak: AKS-back-upcontroles voor de gebruikte opslagklasse en slaat het permanente volume over van het maken van momentopnamen vanwege niet-beschikbaarheid van de klasse.
Aanbevolen actie: Werk de PVC-specificaties bij met de gebruikte opslagklasse.
UserErrorSourceandTargetClusterCRDVersionMismatch
Foutcode: UserErrorSourceandTargetClusterCRDVersionMismatch
Oorzaak: Het AKS-broncluster en het doel-AKS-cluster tijdens het herstellen hebben verschillende versies van FlowSchema en PriorityLevelConfigurations-CA's. Sommige Kubernetes-resources worden niet hersteld vanwege de niet-overeenkomende clusterversies.
Aanbevolen actie: gebruik dezelfde clusterversie voor het doelcluster als broncluster of pas de CA's handmatig toe.
LinkedAuthorizationFailed
Foutcode: LinkedAuthorizationFailed
Oorzaak: Om een herstelbewerking uit te voeren, moet de gebruiker een leesmachtiging hebben voor het AKS-cluster waarvan een back-up is gemaakt.
Aanbevolen actie: Wijs de rol Lezer toe aan het AKS-broncluster en ga vervolgens verder met het uitvoeren van de herstelbewerking.