Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- W witrynie Azure Portal otwórz klaster usługi AKS.
- Przejdź do Puli węzłów w obszarze Ustawienia.
- Wybierz pozycję Skaluj pulę węzłów, a następnie zaktualizuj minimalne i maksymalne wartości w zakresie liczby węzłów.
- 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.
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
Aby zweryfikować Azurepodidentityexceptions w klastrze, uruchom następujące polecenie:
kubectl get Azurepodidentityexceptions --all-namespaces
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ą.
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
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
Aby wymusić ponowne ładowanie
coredns
podów, uruchom następujące polecenie:kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
Aby wykonać polecenie z
NSlookup
poda 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
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
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
- Sprawdź, czy w klastrze występują jakiekolwiek zdarzenia związane z problemem z uruchamianiem zasobnika.
kubectl events -n dataprotection-microsoft
- Sprawdź pody pod kątem CRDs ochrony danych.
kubectl get pods -A | grep "dataprotection-microsoft-kubernetes-agent-upgrade-crds"
- 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:
Otwórz klaster usługi AKS w witrynie Azure Portal.
Przejdź do pozycji Rozszerzenia i aplikacje w obszarze Ustawienia w okienku po lewej stronie.
Kliknij rozszerzenie zatytułowane "azure-aks-backup".
Przewiń w dół, dodaj nową wartość w obszarze ustawień konfiguracji, a następnie kliknij przycisk Zapisz.
resources.limits.memory : 4400Mi
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:
Otwórz klaster usługi AKS w witrynie Azure Portal.
Przejdź do pozycji Rozszerzenia i aplikacje w obszarze Ustawienia w okienku po lewej stronie.
Kliknij rozszerzenie zatytułowane "azure-aks-backup".
Przewiń w dół, dodaj nową wartość w obszarze ustawień konfiguracji, a następnie kliknij przycisk Zapisz.
resources.limits.memory : 4400Mi
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.
Wybierz ikonę Edytuj obok reguły.
Usuń zaznaczenie pola wyboru obok Vault-standard, a następnie wybierz Aktualizuj.
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.