Řešení potíží se zálohováním a obnovením služby Azure Kubernetes Service

Tento článek obsahuje kroky pro řešení potíží, které vám pomůžou vyřešit chyby zálohování, obnovení a správy služby Azure Kubernetes Service (AKS).

Řešení chyb instalace rozšíření AKS Backup

Scénář 1

Chybová zpráva:

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

Příčina: Rozšíření se úspěšně nainstaluje, ale pody se negenerují, protože požadované výpočetní prostředky a paměť nejsou pro pody dostupné.

Řešení: Pokud chcete tento problém vyřešit, zvyšte počet uzlů v clusteru, což umožňuje, aby byly pro pody k dispozici dostatek výpočetních prostředků a paměti. Pokud chcete škálovat fond uzlů na webu Azure Portal, postupujte takto:

  1. Na webu Azure Portal otevřete cluster AKS.
  2. V části Nastavení přejděte do fondů Uzlů.
  3. Vyberte Škálovat fond uzlů a pak aktualizujte minimální a maximální hodnoty v rozsahu počtu uzlů.
  4. Vyberte Použít.

Scénář 2

Chybová zpráva:

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-

Příčina: Když v clusteru AKS povolíte identitu spravovanou podem, přidá se do oboru názvů kube-system výjimka AzurePodIdentityException s názvem aks-addon-exception. Výjimka AzurePodIdentityException umožňuje, aby pody s určitými popisky přistupovaly ke koncovému bodu služby Azure Instance Metadata Service (IMDS), které server NMI nezachytí.

Pody rozšíření nejsou vyloučené a vyžadují ruční povolení identity podu Microsoft Entra.

Řešení: Vytvořte výjimku pod-identity v clusteru AKS (která funguje jenom pro obor názvů dataprotection-microsoft a ne pro kube-system). Další informace.

  1. Spusťte následující příkaz:

    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. Spuštěním následujícího příkazu ověřte , že azurepodidentityexceptions v clusteru:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Pokud chcete přiřadit roli Přispěvatel dat v objektu blob služby Storage identitě rozšíření, spusťte následující příkaz:

    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
    

Scénář 3

Chybová zpráva:

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

Příčina: Pro použití rozšíření clusteru v clusterech AKS se vyžadují konkrétní pravidla plně kvalifikovaného názvu domény nebo aplikace. Další informace.

Tato chyba se zobrazuje kvůli absenci těchto pravidel plně kvalifikovaného názvu domény kvůli tomu, které informace o konfiguraci ze služby Rozšíření clusteru nebyly k dispozici.

Řešení: Pokud chcete tento problém vyřešit, musíte vytvořit vlastní přepsání CoreDNS pro koncový bod DP , které bude předávat přes veřejnou síť.

  1. Získejte existující YAML vlastní coreDNS ve vašem clusteru (uložte ho na místní web pro pozdější použití)::

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Přepsání mapování koncového bodu dp centralus na veřejnou IP adresu (použijte následující 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
               }
    

    Teď spuštěním následujícího příkazu nainstalujte soubor update yaml:

    kubectl apply -f corednsms.yaml
    
  3. Pokud chcete vynutit opětovné načtení coredns podů, spusťte následující příkaz:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Pokud chcete z podu ExtensionAgent zkontrolovatNSlookup, jestli funguje coreDNS-custom, spusťte následující příkaz:

    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. Pokud chcete zkontrolovat protokoly podu ExtensionAgent , spusťte následující příkaz:

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Odstraněním a přeinstalací rozšíření zálohování zahájíte zálohování.

Chyby související s rozšířením zálohování po instalaci

Tyto kódy chyb se zobrazují kvůli problémům s rozšířením zálohování nainstalovaným v clusteru AKS.

KubernetesBackupListExtensionsError:

Příčina: Trezor služby Backup jako součást ověření kontroluje, jestli má cluster nainstalované rozšíření zálohování. K tomu msi trezoru potřebuje oprávnění čtenáře v clusteru AKS, což umožňuje vypsat všechna rozšíření nainstalovaná v clusteru.

Doporučená akce: Opětovné přiřazení role Čtenář k MSI trezoru (odebrání stávajícího přiřazení role a opětovné přiřazení role Čtenář), protože přiřazené roli Čtenář chybí oprávnění rozšíření seznamu. Pokud opětovné přiřazení selže, nakonfigurujte zálohování pomocí jiného trezoru služby Backup.

UserErrorKubernetesBackupExtensionNotFoundError

Příčina: Trezor služby Backup v rámci ověřování kontroluje, jestli je v clusteru nainstalované rozšíření Backup. Trezor provede operaci se seznamem rozšíření nainstalovaných v clusteru. Pokud rozšíření Backup v seznamu chybí, zobrazí se tato chyba.

Doporučená akce: K odstranění rozšíření použijte klienta CL nebo webu Azure Portal a pak rozšíření znovu nainstalujte.

UserErrorKubernetesBackupExtensionHasErrors

Příčina: Rozšíření zálohování nainstalované v clusteru obsahuje některé vnitřní chyby.

Doporučená akce: K odstranění rozšíření použijte klienta CL nebo webu Azure Portal a pak rozšíření znovu nainstalujte.

UserErrorKubernetesBackupExtensionIdentityNotFound

Příčina: Zálohování AKS vyžaduje rozšíření zálohování nainstalované v clusteru. Rozšíření spolu s instalací má identitu uživatele vytvořenou jako MSI rozšíření. Tato MSI se vytvoří ve skupině prostředků, která obsahuje fondy uzlů pro cluster AKS. Tato MSI získá přiřazené požadované role pro přístup k umístění úložiště zálohování. Kód chyby naznačuje, že chybí identita rozšíření.

Doporučená akce: K odstranění rozšíření použijte rozhraní příkazového řádku nebo klienta webu Azure Portal a pak rozšíření znovu nainstalujte. Vytvoří se nová identita spolu s rozšířením.

KubernetesBackupCustomResourcesTrackingTimeOutError

Příčina: Azure Backup pro AKS vyžaduje, aby bylo v clusteru nainstalované rozšíření zálohování. Aby bylo možné provádět operace zálohování a obnovení, vytvoří se v clusteru vlastní prostředky. Pody pro rozšíření, které provádějí operace související se zálohováním prostřednictvím těchto žádostí o přijetí změn. K této chybě dochází v případě, že rozšíření nemůže aktualizovat stav těchto žádostí o přijetí změn.

Doporučená akce: Stav rozšíření je potřeba ověřit spuštěním příkazu kubectl get pods -n dataprotection.microsoft. Pokud pody nejsou ve spuštěném stavu, zvyšte počet uzlů v clusteru o 1 nebo zvyšte limity výpočetních prostředků. Pak počkejte několik minut a spusťte příkaz znovu, což by mělo změnit stav podů na spuštěné. Pokud problém přetrvává, odstraňte a znovu nainstalujte rozšíření.

BackupPluginDeleteBackupOperationFailed

Příčina: Aby se zálohy odstranily, mělo by být spuštěné rozšíření Zálohování.

Doporučená akce: Pokud je cluster spuštěný, ověřte, jestli je rozšíření spuštěné v pořádku. Zkontrolujte, jestli se pody rozšíření vytváří, jinak zvyšte počet uzlů. Pokud se to nezdaří, zkuste rozšíření odstranit a znovu nainstalovat. Pokud se zálohovaný cluster odstraní, odstraňte snímky a metadata ručně.

ExtensionTimedOutWaitingForBackupItemSync

Příčina: Rozšíření Backup čeká na synchronizaci zálohovaných položek s účtem úložiště.

Doporučená akce: Pokud se zobrazí tento kód chyby, zkuste operaci zálohování zopakovat nebo přeinstalujte rozšíření.

Chyby založené na umístění úložiště zálohování

Tyto kódy chyb se zobrazují kvůli problémům založeným na rozšíření zálohování nainstalovaném v clusteru AKS.

UserErrorDeleteBackupFailedBackupStorageLocationReadOnly

Příčina: Účet úložiště zadaný jako vstup během instalace rozšíření backup je ve stavu jen pro čtení, který neumožňuje odstranit zálohovaná data z kontejneru objektů blob.

Doporučená akce: Změna stavu účtu úložiště z režimu jen pro čtení na zápis

UserErrorDeleteBackupFailedBackupStorageLocationNotFound

Příčina: Během instalace rozšíření se jako vstup poskytne umístění úložiště zálohování, které zahrnuje účet úložiště a kontejner objektů blob. Tato chyba se zobrazí, pokud je umístění odstraněno nebo nesprávně přidáno během instalace rozšíření.

Doporučená akce: Odstraňte rozšíření Zálohování a pak ho znovu nainstalujte se správným účtem úložiště a kontejnerem objektů blob jako vstup.

UserErrorBackupFailedBackupStorageLocationReadOnly

Příčina: Účet úložiště zadaný jako vstup během instalace rozšíření Backup je ve stavu jen pro čtení, který neumožňuje zapisovat zálohovaná data do kontejneru objektů blob.

Doporučená akce: Změna stavu účtu úložiště z režimu jen pro čtení na zápis

UserErrorNoDefaultBackupStorageLocationFound

Příčina: Během instalace rozšíření se jako vstup poskytne umístění úložiště služby Backup, které zahrnuje účet úložiště a kontejner objektů blob. Chyba se zobrazí, pokud je umístění odstraněno nebo nesprávně zadané během instalace rozšíření.

Doporučená akce: Odstraňte rozšíření Zálohování a pak ho znovu nainstalujte se správným účtem úložiště a kontejnerem objektů blob jako vstup.

UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation

Příčina: Rozšíření Backup by mělo mít roli Přispěvatel dat objektů blob úložiště v umístění úložiště zálohování (účet úložiště). Identita rozšíření získá přiřazenou tuto roli.

Doporučená akce: Pokud tato role chybí, pomocí webu Azure Portal nebo rozhraní příkazového řádku znovu přiřaďte toto chybějící oprávnění k účtu úložiště.

UserErrorBackupStorageLocationNotReady

Příčina: Během instalace rozšíření se jako vstup poskytne umístění úložiště služby Backup, které zahrnuje účet úložiště a kontejner objektů blob. Rozšíření Backup by mělo mít roli Přispěvatel dat objektů blob služby Storage v umístění úložiště zálohování (účet úložiště). Identita rozšíření získá přiřazenou tuto roli.

Doporučená akce: Chyba se zobrazí, pokud identita rozšíření nemá správná oprávnění pro přístup k účtu úložiště. Tato chyba se zobrazí, pokud se při konfiguraci operace ochrany nainstaluje rozšíření zálohování AKS poprvé. K tomu dochází v případě, že se udělená oprávnění rozšíří do rozšíření zálohování AKS. Jako alternativní řešení počkejte hodinu a zkuste konfiguraci ochrany zopakovat. Jinak pomocí webu Azure Portal nebo rozhraní příkazového řádku znovu přiřaďte toto chybějící oprávnění k účtu úložiště.

Chyby založené na trezorech záloh

Tento kód chyby se může zobrazit, když povolíte zálohování AKS pro ukládání záloh ve standardním úložišti dat trezoru.

DppUserErrorVaultTierPolicyNotSupported

Příčina: Tento kód chyby se zobrazí, když se vytvoří zásada zálohování s pravidlem uchovávání dat definovaným pro úložiště dat úrovně Vault úrovně Standard pro trezor záloh v oblasti, kde toto úložiště dat není podporované.

Doporučená akce: Aktualizujte pravidlo uchovávání informací pomocí standardní doby trvání trezoru definované na webu Azure Portal:

  1. Vyberte ikonu Upravit vedle pravidla.

    Snímek obrazovky ukazuje, jak upravit dobu uchovávání záloh AKS.

  2. Zrušte zaškrtnutí políčka vedle standardního trezoru a pak vyberte Aktualizovat.

    Snímek obrazovky znázorňující zrušení zaškrtnutí políčka trezoru úrovně Standard

  3. Vytvořte zásadu zálohování pro zálohování provozní vrstvy (pouze snímky pro cluster AKS).

Úlohy zálohování a obnovení AKS se dokončily s upozorněními

UserErrorPVSnapshotDisallowedByPolicy

Kód chyby: UserErrorPVSnapshotDisallowedByPolicy

Příčina: Zásady Azure se přiřazují k předplatnému, které ukončí ovladač CSI pro pořízení snímku svazku.

Doporučená akce: Odeberte operaci snímku disku a pak proveďte zálohování na vyžádání.

UserErrorPVSnapshotLimitReached

Kód chyby: UserErrorPVSnapshotLimitReached

Příčina: Existuje omezený počet snímků pro trvalý svazek, který může existovat v určitém bodu v čase. U trvalých svazků založených na disku Azure je limit 500 snímků. Tato chyba se zobrazí v případě, že snímky pro konkrétní trvalé svazky nejsou pořízeny kvůli existenci snímků vyšších, než jsou podporované limity.

Doporučená akce: Aktualizujte zásadu zálohování, abyste zkrátili dobu uchovávání a čekali na odstranění starších bodů obnovení trezoru služby Backup.

CSISnapshottingTimedOut

Kód chyby: CSISnapshottingTimedOut

Příčina: Snímek selhal, protože ovladač CSI dochází k vypršení časového limitu pro načtení popisovače snímku.

Doporučená akce: Zkontrolujte protokoly a zkuste operaci zopakovat a získejte úspěšné snímky spuštěním zálohy na vyžádání nebo počkejte na další naplánované zálohování.

UserErrorHookExecutionFailed

Kód chyby: UserErrorHookExecutionFailed

Příčina: Při použití hooků ke spuštění spolu se zálohami a obnoveními došlo k chybě a nebyly úspěšně použity.

Doporučená akce: Zkontrolujte protokoly, aktualizujte háky a pak zkuste operaci zálohování a obnovení zopakovat.

UserErrorNamespaceNotFound

Kód chyby: UserErrorNamespaceNotFound

Příčina: Při zálohování chybí obory názvů zadané v konfiguraci zálohování. Buď došlo k nesprávnému poskytnutí oboru názvů, nebo byl odstraněn.

Doporučená akce: Zkontrolujte, jestli jsou správně zazálohované obory názvů.

UserErrorPVCHasNoVolume

Kód chyby: UserErrorPVCHasNoVolume

Příčina: Deklarace trvalého svazku (PVC) v kontextu nemá připojený trvalý svazek. Takže PVC nebude zálohovat.

Doporučená akce: Připojte svazek k PVC, pokud ho potřebujete zálohovat.

UserErrorPVCNotBoundToVolume

Kód chyby: UserErrorPVCNotBoundToVolume

Příčina: Pvc v kontextu je ve stavu Čeká na vyřízení a nemá k němu připojený trvalý svazek. Takže PVC nebude zálohovat.

Doporučená akce: Připojte svazek k PVC, pokud ho potřebujete zálohovat.

UserErrorPVNotFound

Kód chyby: UserErrorPVNotFound

Příčina: Chybí podkladové médium úložiště pro trvalý svazek.

Doporučená akce: Zkontrolujte a připojte nový trvalý svazek se skutečným připojeným úložným prostředkem.

UserErrorStorageClassMissingForPVC

Kód chyby: UserErrorStorageClassMissingForPVC

Příčina: Zálohování AKS kontroluje používanou třídu úložiště a přeskočí trvalý svazek z důvodu nedostupnosti třídy.

Doporučená akce: Aktualizujte specifikace PVC o použitou třídu úložiště.

UserErrorSourceandTargetClusterCRDVersionMismatch

Kód chyby: UserErrorSourceandTargetClusterCRDVersionMismatch

Příčina: Zdrojový cluster AKS a cílový cluster AKS během obnovení mají různé verze CRS FlowSchema a PriorityLevelConfigurations. Některé prostředky Kubernetes se neobnoví kvůli neshodě ve verzích clusteru.

Doporučená akce: Použijte stejnou verzi clusteru pro cílový cluster jako zdrojový cluster nebo ručně použijte žádosti o přijetí změn.

Další kroky