Udostępnij za pośrednictwem


Rozwiązywanie problemów z tworzeniem i przywracaniem kopii zapasowych usługi Azure Kubernetes Service

Ten artykuł zawiera kroki rozwiązywania problemów, które ułatwiają rozwiązywanie problemów z błędami tworzenia kopii zapasowych, przywracania i zarządzania w usłudze Azure Kubernetes Service (AKS).

Rozwiązania błędów instalacji rozszerzenia kopii zapasowej usługi AKS

Scenariusz 1

Komunikat o błędzie:

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

Przyczyna: Rozszerzenie zostało pomyślnie zainstalowane, ale pody nie są tworzone, ponieważ nie są dostępne wymagane zasoby obliczeniowe i pamięć dla podów.

Rozwiązanie: Aby rozwiązać ten problem, zwiększ liczbę węzłów w klastrze, co pozwoli na udostępnienie wystarczającej ilości zasobów obliczeniowych i pamięci, aby zasobniki mogły się uruchomić. Aby skalować pulę węzłów w witrynie Azure Portal, wykonaj następujące kroki:

  1. W witrynie Azure Portal otwórz klaster usługi AKS.
  2. Przejdź do Puli węzłów w obszarze Ustawienia.
  3. Wybierz pozycję Skaluj pulę węzłów, a następnie zaktualizuj minimalne i maksymalne wartości w zakresie liczby węzłów.
  4. Wybierz Zastosuj.

Scenariusz 2

Komunikat o błędzie:

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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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-

Przyczyna: Po włączeniu zarządzanej tożsamości podu w klastrze AKS, do przestrzeni nazw kube-system zostanie dodany wyjątek AzurePodIdentityException o nazwie aks-addon-exception. Wyjątek AzurePodIdentityException pozwala zasobnikom z określonymi etykietami uzyskać dostęp do punktu końcowego usługi Azure Instance Metadata Service (IMDS), nie będąc przechwytywanym przez serwer NMI.

Zasobniki rozszerzeń nie są zwolnione z tego wymagania i wymagają ręcznego włączenia tożsamości zasobnika Microsoft Entra.

Rozwiązanie: Utwórz wyjątek pod-identity w klastrze AKS, który działa tylko w przestrzeni nazw dataprotection-microsoft i nie w kube-system. Dowiedz się więcej.

  1. Uruchom następujące polecenie:

    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. Aby zweryfikować Azurepodidentityexceptions w klastrze, uruchom następujące polecenie:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Aby przypisać rolę Storage Blob Data Contributor do tożsamości rozszerzenia, uruchom następujące polecenie:

    Uwaga

    Upewnij się, że używasz najnowszej wersji skryptu programu Terraform. Dowiedz się więcej.

    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
    

Scenariusz 3

Komunikat o błędzie:

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

Przyczyna: Określone reguły FQDN/aplikacji są wymagane do używania rozszerzeń klastrów w klastrach AKS. Dowiedz się więcej.

Ten błąd pojawia się z powodu braku tych reguł FQDN, przez co informacje o konfiguracji z usługi Rozszerzenia klastra (Cluster Extensions) były niedostępne.

Rozwiązanie: Aby rozwiązać ten problem, należy utworzyć niestandardowe zastąpienie CoreDNS dla punktu końcowego DP w celu przekazania przez sieć publiczną.

  1. Pobierz istniejący niestandardowy plik YAML CoreDNS w klastrze (zapisz go lokalnie, aby móc się nim później posłużyć):

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Zastąp mapowanie punktu końcowego centralus DP na adres IP publiczny (użyj poniższego kodu 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
               }
    

    Teraz uruchom poniższe polecenie, aby zastosować plik aktualizacji YAML:

    kubectl apply -f corednsms.yaml
    
  3. Aby wymusić ponowne ładowanie coredns podów, uruchom następujące polecenie:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Aby wykonać polecenie z NSlookuppoda ExtensionAgent i sprawdzić, czy coreDNS-custom działa, uruchom następujące polecenie:

    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. Aby sprawdzić dzienniki zasobnika ExtensionAgent, uruchom następujące polecenie:

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Usuń i ponownie zainstaluj rozszerzenie kopii zapasowej, aby zainicjować tworzenie kopii zapasowej.

Scenariusz 4

Komunikat o błędzie:

"message": "Error: [ InnerError: [Helm installation failed : Unable to create/update Kubernetes resources for the extension : Recommendation Please check that there are no policies blocking the resource creation/update for the extension : InnerError [release azure-aks-backup failed, and has been uninstalled due to atomic being set: failed pre-install: job failed: BackoffLimitExceeded]]] occurred while doing the operation : [Create] on the config, For general troubleshooting visit: https://aka.ms/k8s-extensions-TSG, For more application specific troubleshooting visit: Facing trouble? Common errors and potential fixes are detailed in the Kubernetes Backup Troubleshooting Guide, available at https://www.aka.ms/aksclusterbackup",

Zadanie aktualizacji CRD przed zainstalowaniem kończy się niepowodzeniem w klastrze.

Przyczyna: Zasobniki nie mogą komunikować się z serwerem API Kube

Debugowanie

  1. Sprawdź, czy w klastrze występują jakiekolwiek zdarzenia związane z problemem z uruchamianiem zasobnika.
kubectl events -n dataprotection-microsoft
  1. Sprawdź pody pod kątem CRDs ochrony danych.
kubectl get pods -A | grep "dataprotection-microsoft-kubernetes-agent-upgrade-crds"
  1. Sprawdź dzienniki zasobników.
kubectl logs -f --all-containers=true --timestamps=true -n dataprotection-microsoft <pod-name-from-prev-command>

Przykładowy komunikat dziennika:

2024-08-09T06:21:37.712646207Z Unable to connect to the server: dial tcp: lookup aks-test.hcp.westeurope.azmk8s.io: i/o timeout
2024-10-01T11:26:17.498523756Z Unable to connect to the server: dial tcp 10.146.34.10:443: i/o timeout

Rozwiązanie: W tym przypadku istnieją zasady sieci/Calico lub NSG, które nie zezwalały zasobnikom dataprotection-microsoft na komunikowanie się z serwerem interfejsu API. Należy zezwolić na przestrzeń nazw dataprotection-microsoft, a następnie ponownie zainstalować rozszerzenie.

Scenariusz 5

Agent rozszerzenia nie może komunikować się z punktami końcowymi płaszczyzny danych, co prowadzi do braku wdrożenia zasobników rozszerzenia kopii zapasowej.

Komunikat o błędzie: Agent rozszerzenia w klastrze usługi AKS nie może nawiązać połączenia z punktami końcowymi płaszczyzny *.dp.kubernetesconfiguration.azure.com danych usługi Azure Kubernetes Configuration Service w Twoim regionie. Ten błąd jest wskazywany poprzez przeglądanie dzienników podu extension-agent. Prawdopodobnie zobaczysz powtarzające się błędy 403 dla żądań do punktów końcowych płaszczyzny danych

Error code: 403  
Message: This traffic is not authorized

Zazwyczaj oznacza to, że ruch z agenta rozszerzenia jest blokowany lub nie ma wymaganej autoryzacji, aby uzyskać dostęp do usługi platformy Azure. Ten agent rozszerzenia jest wymagany do zainstalowania i uruchomienia rozszerzenia kopii zapasowej w klastrze usługi AKS.

Przyczyna Ten błąd występuje z powodu konfliktu w prywatnym rozpoznawaniu nazw DNS, gdy zarówno platforma Kubernetes z włączoną usługą Azure Arc, jak i klaster zarządzany usługi AKS współużytkuje tę samą sieć wirtualną (VNet) lub prywatny serwer DNS:

Udostępniona sieć wirtualna (lub prywatna strefa DNS) zawiera wstępnie istniejący prywatny punkt końcowy dla Kubernetes z obsługą Azure Arc.

W rezultacie punkt końcowy płaszczyzny danych używany przez agenta rozszerzenia AKS (np. *.dp.kubernetesconfiguration.azure.com) jest rozpoznawany jako prywatny adres IP (np. 10.x.x.x) zamiast zamierzonego publicznego adresu IP.

To błędne przekierowanie powoduje, że agent rozszerzenia usługi AKS wysyła ruch do niezamierzonego prywatnego punktu końcowego, co prowadzi do błędu 403 Brak autoryzacji. Możesz sprawdzić rozpoznany adres IP punktu końcowego płaszczyzny danych z poziomu klastra usługi AKS przy użyciu następującego polecenia:

kubectl exec -it -n kube-system extension-agent-<podGuid> --nslookup <region>.dp.kubernetesconfiguration.azure.com

Zastąp region elementem swojego regionu Azure (np. eastus, westeurope).

Rezolucja Aby rozwiązać ten problem, rozważ następujące podejścia:

  • Użyj oddzielnych sieci wirtualnych: Jeśli używasz zarówno klastrów Kubernetes z obsługą usługi Azure Arc, jak i klastrów usługi AKS, wdróż je w osobnych sieciach wirtualnych, aby uniknąć konfliktów rozpoznawania nazw DNS spowodowanych przez współużytkowane prywatne punkty końcowe.

  • Skonfiguruj przesłonięcia usługi CoreDNS: Zastąp ustawienia CoreDNS w klastrze usługi AKS, aby jawnie rozpoznać punkt końcowy płaszczyzny danych rozszerzenia na jego publiczny adres IP. Zapoznaj się ze Scenariuszem 3 w dokumentacji, aby uzyskać szczegółowe instrukcje konfigurowania zastąpienia CoreDNS dla rozszerzenia.

  • Publiczne rozpoznawanie adresów IP: Przy użyciu polecenia nslookup zidentyfikuj prawidłowy publiczny adres IP punktu końcowego płaszczyzny danych rozszerzenia. Zastąp region regionem swojego klastra AKS.

nslookup eastus2euap.dp.kubernetesconfiguration.azure.com

Błędy związane z rozszerzeniem kopii zapasowej po instalacji

Te kody błędów pojawiają się z powodu problemów z rozszerzeniem kopii zapasowej zainstalowanym w klastrze usługi AKS.

KubernetesBackupListExtensionsError:

Przyczyna: Magazyn kopii zapasowych w ramach weryfikacji sprawdza, czy klaster ma zainstalowane rozszerzenie kopii zapasowej. Aby to zrobić, MSI magazynu potrzebuje uprawnień czytnika na klastrze AKS, co pozwala mu na wyświetlanie wszystkich zainstalowanych rozszerzeń w klastrze.

Zalecana akcja: Przypisz ponownie rolę czytelnika do MSI magazynu (usuń istniejące przypisanie roli i ponownie przypisz rolę czytelnika), ponieważ przypisana rola czytelnika nie ma uprawnienia do listowania rozszerzeń. Jeśli ponowne przypisanie nie powiedzie się, użyj innego magazynu kopii zapasowych, aby skonfigurować kopię zapasową.

UserErrorKubernetesBackupExtensionNotFoundError: Błąd użytkownika - nie znaleziono rozszerzenia do kopii zapasowej Kubernetes.

Przyczyna: Magazyn kopii zapasowych w ramach walidacji sprawdza, czy klaster ma zainstalowane rozszerzenie do tworzenia kopii zapasowych. Vault wykonuje operację, aby wymienić rozszerzenia zainstalowane w klastrze. Jeśli rozszerzenie Kopii zapasowej jest nieobecne na liście, zostanie wyświetlony ten błąd.

Zalecana akcja: użyj klienta CL lub witryny Azure Portal, aby usunąć rozszerzenie, a następnie ponownie zainstaluj rozszerzenie.

BłądUżytkownikaKubernetesBackupExtensionMaBłędy

Przyczyna: Rozszerzenie kopii zapasowej zainstalowane w klastrze ma pewne błędy wewnętrzne.

Zalecana akcja: użyj klienta CL lub witryny Azure Portal, aby usunąć rozszerzenie, a następnie ponownie zainstaluj rozszerzenie.

Błąd użytkownika: nie znaleziono tożsamości rozszerzenia kopii zapasowej Kubernetes.

Przyczyna: Kopia zapasowa usługi AKS wymaga posiadania zainstalowanego rozszerzenia kopii zapasowej w klastrze. Rozszerzenie wraz z instalacją ma tożsamość użytkownika utworzoną jako rozszerzenie o nazwie MSI. Ten MSI jest tworzony w grupie zasobów składającej się z pul węzłów klastra AKS. To MSI otrzymuje wymagane role przypisane do uzyskania dostępu do lokalizacji magazynu kopii zapasowych. Kod błędu sugeruje, że brakuje tożsamości rozszerzenia.

Zalecana akcja: użyj interfejsu wiersza polecenia lub klienta witryny Azure Portal, aby usunąć rozszerzenie, a następnie ponownie zainstaluj rozszerzenie. Nowa tożsamość zostanie utworzona wraz z rozszerzeniem.

BłądCzasuŚledzeniaZasobówWłasnychKubernetesBackup

Przyczyna: Usługa Azure Backup dla usługi AKS wymaga zainstalowania rozszerzenia kopii zapasowej w klastrze. Aby wykonać operacje tworzenia i przywracania kopii zapasowych, zasoby niestandardowe są tworzone w klastrze. Zasobniki tworzące rozszerzenia, które wykonują operacje związane z tworzeniem kopii zapasowych za pośrednictwem tych zasobów niestandardowych. Ten błąd występuje, gdy rozszerzenie nie może zaktualizować stanu tych CR.

Zalecana akcja: kondycja rozszerzenia jest wymagana do zweryfikowania za pomocą polecenia kubectl get pods -n dataprotection.microsoft. Jeśli pody nie są w stanie działania, zwiększ liczbę węzłów w klastrze o 1 lub podnieś limity obliczeniowe. Następnie poczekaj kilka minut i ponownie uruchom polecenie, co powinno zmienić stan podów na uruchomione. Jeśli problem będzie się powtarzać, usuń i ponownie zainstaluj rozszerzenie.

BłądUżytkownikaPluginKopiaZapasowaPodZrestartowanyPodczasKopiiZapasowej

Przyczyna: usługa Azure Backup dla usługi AKS korzysta z zasobników wdrożonych w klastrze usługi AKS w ramach rozszerzenia kopii zapasowej w przestrzeni nazw dataprotection-microsoft. Aby wykonać operacje kopii zapasowych i przywracania, te zasobniki mają określone wymagania dotyczące CPU i pamięci.

       1. Memory: requests - 128Mi, limits - 1280Mi
       2. CPU: requests - 500m, limits - 1000m

Jednak jeśli liczba zasobów w klastrze przekroczy 1000, zasobniki mogą wymagać dodatkowego CPU i pamięci ponad domyślną rezerwację. Jeśli wymagane zasoby przekraczają przydzielone limity, może wystąpić błąd UserErrorBackupPluginPodRestartedDuringBackup z powodu błędu OOMKilled (brak pamięci) podczas operacji tworzenia kopii zapasowej.

Zalecana akcja: Aby zapewnić pomyślne operacje tworzenia i przywracania kopii zapasowej, ręcznie zaktualizuj ustawienia zasobów dla zasobników rozszerzeń, wykonując następujące kroki:

  1. Otwórz klaster usługi AKS w witrynie Azure Portal.

    Zrzut ekranu przedstawiający klaster usługi AKS w witrynie Azure Portal.

  2. Przejdź do pozycji Rozszerzenia i aplikacje w obszarze Ustawienia w okienku po lewej stronie.

    Zrzut ekranu przedstawia, jak wybrać Rozszerzenia + Aplikacje.

  3. Kliknij rozszerzenie zatytułowane "azure-aks-backup".

    Zrzut ekranu przedstawiający sposób otwierania ustawień rozszerzenia kopii zapasowej.

  4. Przewiń w dół, dodaj nową wartość w obszarze ustawień konfiguracji, a następnie kliknij przycisk Zapisz.

    resources.limits.memory : 4400Mi

    Zrzut ekranu przedstawiający sposób dodawania wartości w ustawieniach konfiguracji.

Po zastosowaniu zmian poczekaj na uruchomienie zaplanowanej kopii zapasowej lub zainicjuj kopię zapasową na żądanie. Jeśli nadal wystąpi błąd OOMKilled, powtórz te kroki i stopniowo zwiększaj limity pamięci, a jeśli problem nadal występuje, zwiększ również parametr resources.limits.cpu.

Uwaga

Jeśli węzeł, w którym aprowizowany jest zasobnik rozszerzenia, nie ma wymaganego CPU ani pamięci, i zaktualizowałeś tylko limity zasobów, zasobnik może być wielokrotnie zabijany. Aby rozwiązać ten problem, zaktualizuj ustawienia konfiguracji przy użyciu resources.requests.cpu i resources.requests.memory. Gwarantuje to, że zasobnik jest zaplanowany na węźle, który spełnia żądane wymagania dotyczące zasobów.

BłądUżytkownikaWtyczkaKopiiZapasowejPodPonownieUruchomionoPodczasPrzywracania

Przyczyna: usługa Azure Backup dla usługi AKS korzysta z zasobników wdrożonych w klastrze usługi AKS w ramach rozszerzenia kopii zapasowej w przestrzeni nazw dataprotection-microsoft. Aby wykonać operacje kopii zapasowych i przywracania, te zasobniki mają określone wymagania dotyczące CPU i pamięci.

       1. Memory: requests - 128Mi, limits - 1280Mi
       2. CPU: requests - 500m, limits - 1000m

Jednak jeśli liczba zasobów w klastrze przekroczy 1000, zasobniki mogą wymagać dodatkowego CPU i pamięci ponad domyślną rezerwację. Jeśli wymagane zasoby przekraczają przydzielone limity, może wystąpić błąd UserErrorBackupPluginPodRestartedDuringRestore z powodu błędu OOMKilled (brak pamięci) podczas operacji przywracania.

Zalecana akcja: Aby zapewnić pomyślne operacje tworzenia i przywracania kopii zapasowej, ręcznie zaktualizuj ustawienia zasobów dla zasobników rozszerzeń, wykonując następujące kroki:

  1. Otwórz klaster usługi AKS w witrynie Azure Portal.

    Zrzut ekranu przedstawiający klaster usługi AKS w witrynie Azure Portal.

  2. Przejdź do pozycji Rozszerzenia i aplikacje w obszarze Ustawienia w okienku po lewej stronie.

    Zrzut ekranu przedstawia, jak wybrać Rozszerzenia + Aplikacje.

  3. Kliknij rozszerzenie zatytułowane "azure-aks-backup".

    Zrzut ekranu przedstawiający sposób otwierania ustawień rozszerzenia kopii zapasowej.

  4. Przewiń w dół, dodaj nową wartość w obszarze ustawień konfiguracji, a następnie kliknij przycisk Zapisz.

    resources.limits.memory : 4400Mi

    Zrzut ekranu przedstawiający sposób dodawania wartości w ustawieniach konfiguracji.

Po zastosowaniu zmian poczekaj na uruchomienie zaplanowanej kopii zapasowej lub zainicjuj kopię zapasową na żądanie. Jeśli nadal wystąpi błąd OOMKilled, powtórz te kroki i stopniowo zwiększaj limity pamięci, a jeśli problem nadal występuje, zwiększ również parametr resources.limits.cpu.

Uwaga

Jeśli węzeł, w którym aprowizowany jest zasobnik rozszerzenia, nie ma wymaganego CPU ani pamięci, i zaktualizowałeś tylko limity zasobów, zasobnik może być wielokrotnie zabijany. Aby rozwiązać ten problem, zaktualizuj ustawienia konfiguracji przy użyciu resources.requests.cpu i resources.requests.memory. Gwarantuje to, że zasobnik jest zaplanowany na węźle, który spełnia żądane wymagania dotyczące zasobów.

Nie udało się usunąć kopii zapasowej przez wtyczkę

Przyczyna: Rozszerzenie kopii zapasowej powinno być uruchomione w celu usunięcia kopii zapasowych.

Zalecane działanie: Jeśli klaster jest uruchomiony, sprawdź, czy rozszerzenie działa prawidłowo. Sprawdź, czy zasobniki rozszerzeń są uruchamiane, w przeciwnym razie zwiększ liczbę węzłów. Jeśli to się nie powiedzie, spróbuj usunąć i ponownie zainstalować rozszerzenie. Jeśli kopia zapasowa klastra zostanie usunięta, usuń ręcznie migawki i metadane.

Limit czasu oczekiwania na synchronizację elementu kopii zapasowej zakończył się

Przyczyna: Rozszerzenie kopii zapasowej czeka na zsynchronizowanie elementów kopii zapasowej z kontem magazynowym.

Zalecana akcja: jeśli zostanie wyświetlony ten kod błędu, spróbuj ponownie wykonać operację tworzenia kopii zapasowej lub ponownie zainstalować rozszerzenie.

Błędy oparte na lokalizacji magazynu kopii zapasowych

Te kody błędów pojawiają się z powodu problemów z rozszerzeniem kopii zapasowej zainstalowanym w klastrze usługi AKS.

Błąd użytkownika: usunięcie kopii zapasowej nie powiodło się, lokalizacja przechowywania kopii zapasowej jest tylko do odczytu.

Przyczyna: Konto magazynu podane jako dane wejściowe podczas instalacji rozszerzenia kopii zapasowej jest w stanie tylko do odczytu, co uniemożliwia usunięcie danych kopii zapasowej z kontenera obiektów blob.

Zalecane działanie: zmień stan konta storage z tylko do odczytu na zapis.

Błąd użytkownika: Usunięcie kopii zapasowej nie powiodło się, nie znaleziono lokalizacji przechowywania kopii zapasowej

Przyczyna: Podczas instalacji rozszerzenia należy podać jako dane wejściowe lokalizację magazynu kopii zapasowej, która obejmuje konto magazynu i kontener obiektów blob. Ten błąd pojawia się, jeśli lokalizacja została usunięta lub niepoprawnie dodana podczas instalacji rozszerzenia.

Zalecana akcja: Usuń rozszerzenie Backup, a następnie zainstaluj je ponownie przy użyciu poprawnego konta magazynu i kontenera obiektów blob jako parametrów wejściowych.

Błąd użytkownika: Niepowodzenie tworzenia kopii zapasowej — lokalizacja przechowywania kopii zapasowej jest tylko do odczytu

Przyczyna: konto magazynu podane jako dane wejściowe podczas instalacji rozszerzenia kopii zapasowej jest w trybie tylko do odczytu, co uniemożliwia zapisywanie danych kopii zapasowej w kontenerze obiektów BLOB.

Zalecane działanie: zmień stan konta storage z tylko do odczytu na zapis.

BłądUżytkownikaNieZnalezionaDomyślnaLokalizacjaKopiiZapasowej

Przyczyna: Podczas instalacji rozszerzenia należy podać lokalizację magazynu kopii zapasowej jako dane wejściowe, w tym konto magazynu i kontener obiektów blob. Błąd pojawia się, jeśli lokalizacja została usunięta lub niepoprawnie wprowadzona podczas instalacji rozszerzenia.

Zalecana akcja: Usuń rozszerzenie Backup, a następnie zainstaluj je ponownie przy użyciu poprawnego konta magazynu i kontenera obiektów blob jako parametrów wejściowych.

Błąd użytkownika: brakujące uprawnienia dla lokalizacji kopii zapasowej rozszerzenia MSI

Przyczyna: Rozszerzenie kopii zapasowej powinno mieć rolę Współautora danych obiektu blob magazynu w lokalizacji magazynu kopii zapasowej (koncie magazynu). Tożsamość rozszerzenia zostaje przypisana tej roli.

Zalecane działanie: jeśli brakuje tej roli, użyj portalu Azure lub interfejsu wiersza polecenia, aby ponownie przypisać to brakujące uprawnienie na koncie magazynowym.

BłądUżytkownikaLokalizacjaKopiiZapasowejNiegotowa

Przyczyna: Podczas instalacji rozszerzenia należy podać lokalizację magazynu kopii zapasowej, wprowadzając jako dane konto magazynu i kontener obiektów blob. Rozszerzenie Kopia zapasowa powinno mieć rolę Kontrybutora danych obiektu Blob magazynu w lokalizacji magazynu kopii zapasowej (koncie magazynu). Tożsamość rozszerzenia zostaje przypisana tej roli.

Zalecane działanie: Błąd pojawia się, jeśli tożsamość rozszerzenia nie ma odpowiednich uprawnień dostępu do konta pamięci masowej. Ten błąd pojawia się, jeśli rozszerzenie kopii zapasowej usługi AKS jest instalowane po raz pierwszy podczas konfigurowania operacji ochrony. Dzieje się tak z powodu czasu potrzebnego na rozprzestrzenienie się przyznanych uprawnień do rozszerzenia kopii zapasowej dla AKS. Aby obejść ten problem, zaczekaj godzinę i spróbuj ponownie wykonać konfigurację ochrony. Alternatywnie, użyj portalu Azure lub CLI, aby ponownie przypisać to brakujące uprawnienie na koncie przechowywania.

Błąd użytkownika: grupa zasobów migawki ma blokady

Przyczyna: Ten kod błędu jest wyświetlany, gdy zastosowano blokadę usuwania lub odczytu w grupie zasobów migawki używanej jako wejście w rozszerzeniu do tworzenia kopii zapasowej.

Zalecana akcja: W przypadku, gdy konfigurujesz nowe wystąpienie kopii zapasowej, użyj grupy zasobów bez blokady usuwania lub odczytu. Jeśli instancja kopii zapasowej jest już skonfigurowana, usuń blokadę z zasobów grupy migawki.

Ostrzeżenie o ogólnym backupie Kubernetes

Przyczyna: Ten kod błędu wskazuje, że nie można utworzyć kopii zapasowej ani przywrócić zasobu Kubernetes, zazwyczaj z powodu problemów z walidacją lub zależnością w klastrze.

Jednym z często obserwowanych scenariuszy jest niepowodzenie podczas przywracania zasobów Ingress z powodu problemów z weryfikowaniem webhooków. Brakuje wymaganego serwisu (np. fabp-ingress-nginx-controller-admission), co uniemożliwia prawidłowe wykonanie elementu webhook validate.nginx.ingress.kubernetes.io. Weryfikowanie konfiguracji elementu webhook istnieje, ale odwołuje się do nieistniejącej lub nieprawidłowo skonfigurowanej usługi. Problemy z rozpoznawaniem nazw DNS uniemożliwiają webhookowi dotarcie do zamierzonego punktu końcowego. Klaster używa niestandardowych webhooków przyjęcia, dla których nie zrobiono kopii zapasowej ani nie utworzono ich ponownie przed przywróceniem. Konfiguracja elementu webhook jest przestarzała lub niepotrzebna dla przywróconego stanu klastra.

Zalecana akcja:

  • Sprawdź, czy istnieje brakująca usługa fabp-ingress-nginx-controller-admission, używając:

    kubectl get svc -n ingress-basic
    
  • Jeśli brakuje usługi, sprawdź konfiguracje wdrożenia i utwórz je ponownie w razie potrzeby.

  • Zbadaj potencjalne problemy z rozwiązywaniem nazw DNS, uruchamiając:

    kubectl get endpoints -n ingress-basic
    
    nslookup fabp-ingress-nginx-controller-admission.ingress-basic.svc.cluster.local
    
  • Jeśli walidacja elementu webhook jest niepotrzebna, rozważ usunięcie go przy użyciu:

    kubectl delete validatingwebhookconfiguration
    
  • Wyświetl listę wszystkich konfiguracji webhooków za pomocą:

    kubectl get validatingwebhookconfigurations
    
  • Jeśli problem został rozwiązany, ręcznie przywróć konfigurację ingress, stosując kopię zapasową YAML.

    kubectl apply -f
    

Uwaga

To ostrzeżenie może wynikać z wielu przyczyn. Jeśli powyższe kroki nie rozwiążą problemu, zapoznaj się z dziennikami kontrolera Kubernetes i konfiguracją elementu webhook, aby uzyskać bardziej szczegółowe komunikaty o błędach.

Błędy związane z kopiami zapasowymi w sejfie

Te kody błędów mogą pojawić się podczas włączania kopii zapasowych AKS do przechowywania ich w standardowym magazynie danych typu „vault”.

DppUżytkownikBłądPolitykaPoziomuMagazynuNieobsługiwana

Przyczyna: Ten kod błędu pojawia się, gdy zostaje utworzona polityka tworzenia kopii zapasowych z określoną regułą przechowywania dla standardowego magazynu danych w magazynie kopii zapasowych w regionie, w którym ten magazyn danych nie jest obsługiwany.

Zalecana akcja: Zaktualizuj regułę przechowywania przy użyciu czasu trwania zgodnego z magazynem standardowym zdefiniowanego na portalu Azure.

  1. Wybierz ikonę Edytuj obok reguły.

    Zrzut ekranu przedstawiający sposób edytowania czasu przechowywania kopii zapasowych usługi AKS.

  2. Usuń zaznaczenie pola wyboru obok Vault-standard, a następnie wybierz Aktualizuj.

    Zrzut ekranu przedstawia odznaczenie pola wyboru vault-standard.

  3. Utwórz zasady kopii zapasowych dla warstwy operacyjnej (migawki tylko dla klastra usługi AKS).

Zadania tworzenia i przywracania kopii zapasowej AKS zakończone z ostrzeżeniami

BłądUżytkownika: MigawkiPVZabronionePrzezPolitykę

Kod błędu: Błąd użytkownika - Zrzut PV niedozwolony przez politykę

Przyczyna: Zasada platformy Azure została przypisana do subskrypcji, co uniemożliwia sterownikowi CSI wykonanie migawki woluminu.

Zalecana akcja: Usuń usługę Azure Policy, co spowoduje zaprzestanie operacji migawki dysku, a następnie wykonaj kopię zapasową na żądanie.

BłądUżytkownikaOsiągniętoLimitMigawek

Kod błędu: UserErrorPVSnapshotLimitReached

Przyczyna: Istnieje ograniczona liczba migawek dla woluminów trwałych, które mogą istnieć w danym momencie czasu. W przypadku woluminów trwałych opartych na dyskach platformy Azure limit wynosi 500 migawek. Ten błąd pojawia się, gdy migawki dla określonych woluminów trwałych nie są wykonywane z powodu istnienia migawek wyższych niż obsługiwane limity.

Zalecana akcja: Zaktualizuj zasady kopii zapasowej, aby skrócić czas przechowywania i poczekaj, aż Magazyn Kopii Zapasowych usunie starsze punkty odzyskiwania.

CSISnapshottingPrzekroczyłCzas

Kod błędu: CSISnapshottingTimedOut

Przyczyna: Migawka nie powiodła się, ponieważ sterownik CSI przekracza limit czasu podczas pobierania identyfikatora migawki.

Zalecane działanie: Przejrzyj dzienniki i spróbuj ponownie wykonać operację, aby uzyskać pomyślne migawki poprzez uruchomienie kopii zapasowej na żądanie lub poczekaj na następną zaplanowaną kopię zapasową.

BłądWykonaniaHakuzDefiniowanegoPrzezUżytkownika

Kod błędu: UserErrorHookExecutionFailed

Przyczyna: Gdy hooki stosowane przy uruchamianiu wraz z kopiami zapasowymi i przywracaniem napotkały błąd i nie zostały pomyślnie zastosowane.

Zalecana akcja: Przejrzyj dzienniki, zaktualizuj punkty zaczepienia, a następnie ponów próbę wykonania operacji tworzenia/przywracania kopii zapasowej.

BłądUżytkownikaBrakNazwyPrzestrzeni

Kod błędu: UserErrorNamespaceNotFound

Przyczyna: brak przestrzeni nazw podanych w konfiguracji kopii zapasowej podczas wykonywania kopii zapasowych. Przestrzeń nazw została nieprawidłowo podana lub została usunięta.

Zalecane działanie: Sprawdź, czy przestrzenie nazw przeznaczone do kopii zapasowej są poprawnie określone.

BłądUżytkownikaPVCNieMaWolumenu

Kod błędu: UserErrorPVCHasNoVolume

Przyczyna: Żądanie trwałego woluminu (PVC) nie ma dołączonego trwałego woluminu. Więc PVC nie zostanie zablokowane.

Zalecane działanie: Dołącz wolumin do PVC, jeśli trzeba wykonać jego kopię zapasową.

Błąd użytkownika: PVC nie jest powiązany z woluminem (UserErrorPVCNotBoundToVolume)

Kod błędu: UserErrorPVCNotBoundToVolume

Przyczyna: Element PVC w kontekście znajduje się w stanie Oczekiwanie i nie ma dołączonego do niego trwałego woluminu. Więc PVC nie zostanie zablokowane.

Zalecane działanie: Dołącz wolumin do PVC, jeśli trzeba wykonać jego kopię zapasową.

BłądUżytkownikaPVNieZnaleziony (UserErrorPVNotFound)

Kod błędu: UserErrorPVNotFound

Przyczyna: Bazowy nośnik pamięci dla woluminu trwałego jest nieobecny.

Zalecana akcja: Sprawdź i dołącz nowy wolumin trwały z dołączonym rzeczywistym medium pamięci.

BłądUżytkownikaKlasaPrzechowywaniaBrakDlaPVC

Kod błędu: UserErrorStorageClassMissingForPVC

Przyczyna: Usługa AKS sprawdza używaną klasę magazynu i pomija wolumin trwały z tworzenia migawek z powodu niedostępności tej klasy.

Zalecana akcja: Zaktualizuj parametry PVC za pomocą używanej klasy pamięci masowej.

Błąd użytkownika: niezgodność wersji CRD między klastrem źródłowym a docelowym

Kod błędu: UserErrorSourceandTargetClusterCRDVersionMismatch

Przyczyna: Źródłowy klaster usługi AKS i docelowy klaster AKS podczas przywracania mają różne wersje FlowSchema i PriorityLevelConfigurations CRs. Niektóre zasoby Kubernetes nie są przywracane z powodu niedopasowania wersji klastra.

Zalecane działanie: użyj tej samej wersji klastra dla klastra docelowego jak dla klastra źródłowego lub ręcznie zastosuj CustomResource (CR).

Błąd połączonego uwierzytelniania

Kod błędu: LinkedAuthorizationFailed

Przyczyna: Aby wykonać operację przywracania, użytkownik musi mieć uprawnienia do odczytu w kopii zapasowej klastra AKS.

Zalecana akcja: Przypisz rolę Odbiorcy w źródłowym klastrze usługi AKS, a następnie wykonaj operację przywracania.

Następne kroki