Dela via


Felsöka säkerhetskopiering och återställning av Azure Kubernetes Service

Den här artikeln innehåller felsökningssteg som hjälper dig att lösa säkerhetskopierings-, återställnings- och hanteringsfel i Azure Kubernetes Service (AKS).

Felmatchningar vid installation av AKS Backup-tillägg

Scenario 1

Felmeddelande:

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

Orsak: Tillägget har installerats, men poddarna skapas inte eftersom nödvändig beräkning och minne inte är tillgängliga för poddarna.

Lösning: Lös problemet genom att öka antalet noder i klustret, så att tillräckligt med beräkning och minne kan vara tillgängligt för poddarna att skapa. Följ dessa steg för att skala nodpoolen på Azure-portalen:

  1. Öppna AKS-klustretAzure-portalen.
  2. Gå till Nodpooler under Inställningar.
  3. Välj Skala nodpool och uppdatera sedan minimi- och maxvärdena för nodantalsintervallet.
  4. Välj Använd.

Scenario 2

Felmeddelande:

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-

Orsak: När du aktiverar poddhanterad identitet i AKS-klustret läggs en AzurePodIdentityException med namnet aks-addon-exception till i kube-system-namnområdet . Med En AzurePodIdentityException kan poddar med vissa etiketter komma åt slutpunkten för Azure Instance Metadata Service (IMDS) som inte fångas upp av NMI-servern.

Tilläggspoddarna är inte undantagna och kräver att Microsoft Entra-poddidentiteten aktiveras manuellt.

Lösning: Skapa poddidentitetsfel i AKS-kluster (som endast fungerar för dataprotection-microsoft-namnrymd och inte för kube-system). Läs mer.

  1. Kör följande kommando:

    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. Kör följande kommando för att verifiera Azurepodidentityexceptions i klustret:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Om du vill tilldela rollen Storage Blob Data-deltagare till tilläggsidentiteten kör du följande kommando:

    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

Felmeddelande:

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

Orsak: Specifika FQDN/programregler krävs för att använda klustertillägg i AKS-klustren. Läs mer.

Det här felet visas på grund av avsaknad av dessa FQDN-regler på grund av vilken konfigurationsinformation från klustertilläggstjänsten inte var tillgänglig.

Lösning: För att lösa problemet måste du skapa en CoreDNS-anpassad åsidosättning för DP-slutpunkten för att passera genom det offentliga nätverket.

  1. Hämta befintlig CoreDNS-anpassad YAML i klustret (spara den lokalt som referens senare)::

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Åsidosätt mappning för centralus DP-slutpunkt till offentlig IP -adress (använd YAML nedan):

    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
               }
    

    Kör nu kommandot nedan för att tillämpa yaml-filen för uppdatering:

    kubectl apply -f corednsms.yaml
    
  3. Kör följande kommando för att framtvinga omläsning coredns av poddar:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Kör följande kommando för att utföra NSlookup från ExtensionAgent-podden för att kontrollera om coreDNS-custom fungerar:

    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. Kör följande kommando för att kontrollera loggarna för ExtensionAgent-podden :

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Ta bort och installera om säkerhetskopieringstillägget för att starta säkerhetskopieringen.

Fel som rör säkerhetskopieringstillägg efter installationen

Dessa felkoder visas på grund av problem med säkerhetskopieringstillägget som är installerat i AKS-klustret.

KubernetesBackupListExtensionsError:

Orsak: Säkerhetskopieringsvalv som en del av en validering kontrollerar om klustret har säkerhetskopieringstillägget installerat. För detta behöver Vault MSI en läsarbehörighet i AKS-klustret så att den kan visa en lista över alla tillägg som är installerade i klustret.

Rekommenderad åtgärd: Tilldela om rollen Läsare till Vault MSI (ta bort den befintliga rolltilldelningen och tilldela rollen Läsare igen), eftersom rollen Läsare som tilldelats saknar behörigheten listtillägg i den. Om omtilldelningen misslyckas använder du ett annat Säkerhetskopieringsvalv för att konfigurera säkerhetskopiering.

UserErrorKubernetesBackupExtensionNotFoundError

Orsak: Säkerhetskopieringsvalv som en del av valideringen kontrollerar om klustret har säkerhetskopieringstillägget installerat. Vault utför en åtgärd för att lista de tillägg som är installerade i klustret. Om säkerhetskopieringstillägget saknas i listan visas det här felet.

Rekommenderad åtgärd: Använd CL- eller Azure-portalklienten för att ta bort tillägget och installera sedan tillägget igen.

UserErrorKubernetesBackupExtensionHasErrors

Orsak: Säkerhetskopieringstillägget som är installerat i klustret har vissa interna fel.

Rekommenderad åtgärd: Använd CL- eller Azure-portalklienten för att ta bort tillägget och installera sedan tillägget igen.

UserErrorKubernetesBackupExtensionIdentityNotFound

Orsak: AKS-säkerhetskopiering kräver ett säkerhetskopieringstillägg installerat i klustret. Tillägget tillsammans med installationen har en användaridentitet som skapats med namnet msi-tillägget. Denna MSI skapas i resursgruppen som består av nodpoolerna för AKS-klustret. Den här MSI:en hämtar de roller som krävs för åtkomst till lagringsplatsen för säkerhetskopiering. Felkoden tyder på att tilläggsidentiteten saknas.

Rekommenderad åtgärd: Använd CLI- eller Azure-portalklienten för att ta bort tillägget och installera sedan tillägget igen. En ny identitet skapas tillsammans med tillägget.

KubernetesBackupCustomResourcesTrackingTimeOutError

Orsak: Azure Backup för AKS kräver att ett säkerhetskopieringstillägg installeras i klustret. För att utföra säkerhetskopierings- och återställningsåtgärderna skapas anpassade resurser i klustret. De extension-spawn-poddar som utför säkerhetskopieringsrelaterade åtgärder via dessa CRs. Det här felet uppstår när tillägget inte kan uppdatera statusen för dessa CRs.

Rekommenderad åtgärd: Hälsotillståndet för tillägget måste verifieras via kommandot kubectl get pods -n dataprotection.microsoft. Om poddarna inte är i körningstillstånd ökar du antalet noder i klustret med 1 eller ökar beräkningsgränserna. Vänta sedan några minuter och kör kommandot igen, vilket bör ändra status för poddarna till att köras. Om problemet kvarstår tar du bort och installerar om tillägget.

BackupPluginPodRestartedDuringBackupError

Orsak: Podden för säkerhetskopieringstillägg (dataprotection-microsoft-kubernetes-agent) i AKS-klustret upplever instabilitet på grund av otillräcklig processor-/minnesresurser på den aktuella noden, vilket leder till att OOM (slut på minne) avlivar incidenter. Detta kan bero på lägre beräkning som begärs av podden för säkerhetskopieringstillägget.

Rekommenderad åtgärd: För att åtgärda detta rekommenderar vi att du ökar de beräkningsvärden som allokerats till den här podden. På så sätt etableras den automatiskt på en annan nod i AKS-klustret med gott om tillgängliga beräkningsresurser.

Det aktuella värdet för beräkning för den här podden är:

resources.requests.cpu är 500m resources.requests.memory är 128Mi Ändra minnesallokeringen till 512Mi genom att uppdatera parametern "resources.requests.memory". Om problemet kvarstår rekommenderar vi att du ökar parametern "resources.requests.cpu" till 900 m efter minnesallokeringen. Du kan öka värdena för parametrarna genom att följa stegen nedan:

  1. Gå till AKS-klusterbladet i Azure-portalen.
  2. Klicka på Tillägg+program och välj tillägget "azure-aks-backup".
  3. Uppdatera konfigurationsinställningarna i portalen genom att lägga till följande nyckel/värde-par. resources.requests.cpu 900m resources.requests.memory 512Mi

BackupPluginDeleteBackupOperationFailed

Orsak: Säkerhetskopieringstillägget ska köras för att ta bort säkerhetskopiorna.

Rekommenderad åtgärd: Om klustret körs kontrollerar du om tillägget körs i felfritt tillstånd. Kontrollera om tilläggspoddarna skapas, annars ökar du noderna. Om det misslyckas kan du prova att ta bort och installera om tillägget. Om det säkerhetskopierade klustret tas bort tar du bort ögonblicksbilderna och metadata manuellt.

ExtensionTimedOutWaitingForBackupItemSync

Orsak: Säkerhetskopieringstillägget väntar på att säkerhetskopieringsobjekten ska synkroniseras med lagringskontot.

Rekommenderad åtgärd: Om den här felkoden visas försöker du antingen utföra säkerhetskopieringen igen eller installera om tillägget.

Platsbaserade fel för säkerhetskopieringslagring

Dessa felkoder visas på grund av problem som baseras på säkerhetskopieringstillägget som är installerat i AKS-klustret.

UserErrorDeleteBackupFailedBackupStorageLocationReadOnly

Orsak: Lagringskontot som anges som indata under installationen av säkerhetskopieringstillägget är i skrivskyddat tillstånd, vilket inte tillåter att säkerhetskopieringsdata tas bort från blobcontainern.

Rekommenderad åtgärd: Ändra lagringskontots tillstånd från skrivskyddat till skrivskyddat.

UserErrorDeleteBackupFailedBackupStorageLocationNotFound

Orsak: Under tilläggsinstallationen ska en lagringsplats för säkerhetskopiering anges som indata som innehåller ett lagringskonto och en blobcontainer. Det här felet visas om platsen tas bort eller läggs till felaktigt under tilläggsinstallationen.

Rekommenderad åtgärd: Ta bort säkerhetskopieringstillägget och installera sedan om det med rätt lagringskonto och blobcontainer som indata.

UserErrorBackupFailedBackupStorageLocationReadOnly

Orsak: Lagringskontot som anges som indata under installationen av säkerhetskopieringstillägget är i skrivskyddat tillstånd, vilket inte tillåter att säkerhetskopieringsdata skrivs i blobcontainern.

Rekommenderad åtgärd: Ändra lagringskontots tillstånd från skrivskyddat till skrivskyddat.

UserErrorNoDefaultBackupStorageLocationFound

Orsak: Under tilläggsinstallationen ska en lagringsplats för säkerhetskopior anges som indata, som innehåller ett lagringskonto och en blobcontainer. Felet visas om platsen har tagits bort eller angetts felaktigt under tilläggsinstallationen.

Rekommenderad åtgärd: Ta bort säkerhetskopieringstillägget och installera sedan om det med rätt lagringskonto och blobcontainer som indata.

UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation

Orsak: Säkerhetskopieringstillägget ska ha rollen Storage Blob Data Contributor på lagringsplatsen för säkerhetskopiering (lagringskonto). Tilläggsidentiteten tilldelas den här rollen.

Rekommenderad åtgärd: Om den här rollen saknas använder du Azure-portalen eller CLI för att tilldela om den saknade behörigheten för lagringskontot.

UserErrorBackupStorageLocationNotReady

Orsak: Under tilläggsinstallationen ska en lagringsplats för säkerhetskopior anges som indata som innehåller ett lagringskonto och en blobcontainer. Tillägget Säkerhetskopiering bör ha rollen Storage Blob Data Contributor på lagringsplatsen för säkerhetskopiering (lagringskontot). Tilläggsidentiteten tilldelas den här rollen.

Rekommenderad åtgärd: Felet visas om tilläggsidentiteten inte har rätt behörighet att komma åt lagringskontot. Det här felet visas om AKS-säkerhetskopieringstillägget installeras första gången när skyddsåtgärden konfigureras. Detta sker under den tid det tar för de beviljade behörigheterna att spridas till AKS-säkerhetskopieringstillägget. Som en tillfällig lösning väntar du en timme och försöker igen med skyddskonfigurationen. Annars använder du Azure-portalen eller CLI för att tilldela om den behörighet som saknas på lagringskontot.

UserErrorSnapshotResourceGroupHasLocks

Orsak: Den här felkoden visas när ett borttagnings- eller läslås har tillämpats på den resursgrupp för ögonblicksbilder som angetts som indata för säkerhetskopieringstillägget.

Rekommenderad åtgärd: Om du konfigurerar en ny säkerhetskopieringsinstans använder du en resursgrupp utan borttagning eller läslås. Om säkerhetskopieringsinstansen redan har konfigurerats tar du bort låset från resursgruppen för ögonblicksbilden.

Fel baserade på valvbaserad säkerhetskopiering

Dessa felkoder kan visas när du aktiverar AKS-säkerhetskopiering för att lagra säkerhetskopior i ett valvstandarddatalager.

DppUserErrorVaultTierPolicyNotSupported

Orsak: Den här felkoden visas när en säkerhetskopieringsprincip skapas med kvarhållningsregeln definierad för valvstandarddatalager för ett säkerhetskopieringsvalv i en region där det här datalagret inte stöds.

Rekommenderad åtgärd: Uppdatera kvarhållningsregeln med valvstandardvaraktighet definierad i Azure-portalen:

  1. Välj Ikonen Redigera bredvid regeln.

    Skärmbild som visar hur du redigerar kvarhållningstiden för AKS-säkerhetskopiorna.

  2. Avmarkera kryssrutan bredvid Vault-standard och välj sedan Uppdatera.

    Skärmbild som visar hur du avmarkerar kryssrutan valvstandard.

  3. Skapa en säkerhetskopieringsprincip för säkerhetskopiering på driftnivå (endast ögonblicksbilder för AKS-klustret).

AKS-säkerhetskopierings- och återställningsjobb slutförda med varningar

UserErrorPVSnapshotDisallowedByPolicy

Felkod: UserErrorPVSnapshotDisallowedByPolicy

Orsak: En Azure-princip tilldelas över en prenumeration som upphör med CSI-drivrutinen för att ta ögonblicksbilden av volymen.

Rekommenderad åtgärd: Ta bort Azure Policy från att upphöra med åtgärden för diskögonblicksbild och utför sedan en säkerhetskopiering på begäran.

UserErrorPVSnapshotLimitReached

Felkod: UserErrorPVSnapshotLimitReached

Orsak: Det finns ett begränsat antal ögonblicksbilder för en beständiga volym som kan finnas vid en tidpunkt. För Azure Disk-baserade beständiga volymer är gränsen 500 ögonblicksbilder. Det här felet visas när ögonblicksbilder för specifika beständiga volymer inte tas på grund av att det finns ögonblicksbilder som är högre än de gränser som stöds.

Rekommenderad åtgärd: Uppdatera säkerhetskopieringsprincipen för att minska kvarhållningstiden och vänta tills Backup Vault tar bort de äldre återställningspunkterna.

CSISnapshottingTimedOut

Felkod: CSISnapshottingTimedOut

Orsak: Ögonblicksbilden misslyckades eftersom CSI-drivrutinen överskrider tidsgränsen för att hämta referensen för ögonblicksbilden.

Rekommenderad åtgärd: Granska loggarna och försök igen för att få lyckade ögonblicksbilder genom att köra en säkerhetskopiering på begäran eller vänta på nästa schemalagda säkerhetskopiering.

UserErrorHookExecutionFailed

Felkod: UserErrorHookExecutionFailed

Orsak: När krokar som används för att köras tillsammans med säkerhetskopior och återställningar har påträffat ett fel och inte har tillämpats.

Rekommenderad åtgärd: Granska loggarna, uppdatera krokarna och försök sedan att säkerhetskopiera/återställa igen.

UserErrorNamespaceNotFound

Felkod: UserErrorNamespaceNotFound

Orsak: Namnområden som anges i Säkerhetskopieringskonfigurationen saknas vid säkerhetskopiering. Antingen angavs namnområdet felaktigt eller så har det tagits bort.

Rekommenderad åtgärd: Kontrollera om namnrymderna som ska säkerhetskopieras är korrekt angivna.

UserErrorPVCHasNoVolume

Felkod: UserErrorPVCHasNoVolume

Orsak: Det beständiga volymanspråket (PVC) i kontexten har ingen beständig volym kopplad till sig. Så PVC kommer inte att säkerhetskopieras.

Rekommenderad åtgärd: Koppla en volym till PVC om den behöver säkerhetskopieras.

UserErrorPVCNotBoundToVolume

Felkod: UserErrorPVCNotBoundToVolume

Orsak: PVC:en i kontexten är i väntande tillstånd och har ingen beständig volym kopplad till den. Så PVC kommer inte att säkerhetskopieras.

Rekommenderad åtgärd: Koppla en volym till PVC om den behöver säkerhetskopieras.

UserErrorPVNotFound

Felkod: UserErrorPVNotFound

Orsak: Det underliggande lagringsmediet för den beständiga volymen saknas.

Rekommenderad åtgärd: Kontrollera och bifoga en ny beständiga volym med det faktiska lagringsmediet anslutet.

UserErrorStorageClassMissingForPVC

Felkod: UserErrorStorageClassMissingForPVC

Orsak: AKS-säkerhetskopiering söker efter lagringsklassen som används och hoppar över den beständiga volymen från att ta ögonblicksbilder på grund av att klassen inte är tillgänglig.

Rekommenderad åtgärd: Uppdatera PVC-specifikationerna med den lagringsklass som används.

UserErrorSourceandTargetClusterCRDVersionMismatch

Felkod: UserErrorSourceandTargetClusterCRDVersionMismatch

Orsak: AKS-källklustret och AKS-målklustret under återställningen har olika versioner av CR:er för FlowSchema och PriorityLevelConfigurations. Vissa Kubernetes-resurser återställs inte på grund av matchningsfelet i klusterversioner.

Rekommenderad åtgärd: Använd samma klusterversion för målkluster som källkluster eller tillämpa de CR:er manuellt.

Nästa steg