Rozwiązywanie błędów podczas włączania lub wyłączania usługi Azure Arc w klastrach obciążeń usługi AKS w usłudze AKS włączonej przez usługę Arc

Dotyczy: usługa AKS w usłudze Azure Stack HCI, usługa AKS w systemie Windows Server

W tym artykule opisano błędy, które mogą wystąpić (i ich obejścia) podczas nawiązywania połączenia lub odłączania klastrów obciążeń usługi AKS z usługą Azure Arc przy użyciu poleceń cmdlet programu PowerShell Enable-AksHciArcConnection i Disable-AksHciArcConnection w usłudze AKS Arc. W przypadku problemów, które nie zostały omówione w tym artykule, zobacz Rozwiązywanie problemów z platformą Kubernetes z obsługą usługi Arc.

Możesz również otworzyć problem pomocy technicznej , jeśli żadne z poniższych obejść nie ma zastosowania.

Błąd: "Nie znaleziono klastra obciążenia o nazwie "my-aks-cluster"

Ten błąd oznacza, że klaster obciążenia nie został utworzony lub nazwa klastra obciążenia została niepoprawnie wpisana.

Uruchom polecenie Get-AksHciCluster , aby upewnić się, że masz poprawną nazwę lub klaster, z którym chcesz nawiązać połączenie z usługą Arc.

Błąd: "System.Management.Automation.RemoteException Rozpoczęcie dołączania klastra procesów "azure-arc-onboarding" set..."

Podczas tworzenia klastra obciążenia za pomocą Windows Admin Center może wystąpić następujący błąd i połączenie go z platformą Kubernetes z obsługą usługi Arc:

System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set. User "azure-arc-onboarding" set. Context "azure-arc-onboarding" created. Switched to context "azure-arc-onboarding". Azure login az login: error: argument --password/-p: expected one argument usage: az login [-h] [--verbose] [--debug] [--only-show-errors] [--output {json,jsonc,yaml,yamlc,table,tsv,none}] [--query JMESPATH] [--username USERNAME] [--password PASSWORD] [--service-principal] [--tenant TENANT] [--allow-no-subscriptions] [-i] [--use-device-code] [--use-cert-sn-issuer] : Job Failed Condition]

Aby rozwiązać ten problem, zapoznaj się z poniższymi opcjami:

  • Opcja 1. Usuń klaster obciążenia i spróbuj ponownie przy użyciu Windows Admin Center.
  • Opcja 2: W programie PowerShell sprawdź, czy klaster został pomyślnie utworzony, uruchamiając polecenie Get-AksHciCluster , a następnie użyj polecenia Enable-AksHciArcConnection , aby połączyć klaster z usługą Arc.

Enable-AksHciArcConnection kończy się niepowodzeniem, jeśli Connect-AzAccount jest używana do logowania się na platformie Azure

Jeśli używasz polecenia Connect-AzAccount do logowania się na platformie Azure, możesz ustawić inną subskrypcję jako kontekst domyślny niż ten, który został nadany jako dane wejściowe dla polecenia Set-AksHciRegistration. Po uruchomieniu polecenia Enable-AksHciArcConnection polecenie oczekuje subskrypcji używanej w Set-AksHciRegistrationprogramie . Enable-AksHciArcConnection Jednak pobiera domyślny zestaw subskrypcji przy użyciu elementu Connect-AzAccount, a w związku z tym może spowodować błąd.

Aby zapobiec temu błędowi, wykonaj jedną z poniższych opcji:

  • Opcja 1. Uruchom polecenie Set-AksHciRegistration , aby zalogować się do platformy Azure przy użyciu tych samych parametrów (subskrypcji i grupy zasobów) użytych podczas pierwszego uruchomienia polecenia w celu nawiązania połączenia hosta usługi AKS z platformą Azure w celu uzyskania rozliczeń. Następnie możesz użyć Enable-AksHciArcConnection -Name <ClusterName> wartości domyślnych, a klaster będzie połączony z usługą Arc w ramach subskrypcji rozliczeniowej hosta usługi AKS i grupy zasobów.

  • Opcja 2. Uruchom polecenie Enable-AksHciArcRegistration z wszystkimi parametrami, subscription, , tenantresource grouplocationi secret, aby połączyć klaster z usługą Azure Arc w ramach innej subskrypcji i grupy zasobów niż host usługi AKS. Należy również uruchomić polecenie Enable-AksHciArcRegistration , jeśli nie masz wystarczających uprawnień, aby połączyć klaster z usługą Azure Arc przy użyciu konta platformy Azure (na przykład jeśli nie jesteś właścicielem subskrypcji).

Błąd: "Upłynął limit czasu oczekiwania na warunek"

Ten błąd zwykle wskazuje na jeden z następujących problemów:

  • Klastry zostały utworzone na maszynie wirtualnej platformy Azure w środowisku zwirtualizowanym lub wdrożono usługę AKS w usłudze Azure Stack HCI na wielu poziomach wirtualizacji.
  • Powolny Internet spowodował przekroczenie limitu czasu.

Jeśli dotyczy Ciebie jeden z powyższych scenariuszy, uruchom polecenie Disable-AksHciArcConnection i spróbuj ponownie nawiązać połączenie. Jeśli powyższy scenariusz nie ma zastosowania, otwórz problem pomocy technicznej dla usługi AKS w usłudze Azure Stack HCI.

Błąd: "Nie znaleziono wpisów tajnych "sh.helm.release.v1.azure-arc.v1"

Ten błąd wskazuje, że nie można nawiązać połączenia z serwerem interfejsu API Kubernetes.

Spróbuj ponownie uruchomić polecenie Disable-AksHciArcConnection, a następnie przejdź do Azure Portal, aby potwierdzić, że connectedCluster zasób został rzeczywiście usunięty. Można również uruchomić polecenie kubectl get ns -A , aby potwierdzić, że przestrzeń nazw , azure-arcnie istnieje w klastrze.

Błąd: "Błąd podczas aktualizowania agentów do włączania funkcji"

Jeśli włączysz funkcje lokalizacji niestandardowej i połączenia klastra w klastrze usługi AKS połączonym z usługą Azure Arc, może zostać wyświetlony następujący błąd:

Error while updating agents for enabling features. Please run "kubectl get pods -n azure-arc" to check the pods in case of timeout error. Error: Error: UPGRADE FAILED: timed out waiting for the condition

Jest to znany problem z wrześniową wersją i został rozwiązany w październiku. Nowe klastry usługi AKS utworzone przy użyciu wersji z października i połączone z usługą Arc przy użyciu polecenia Enable-AksHciArcConnection nie występują w tym problemie. Zaktualizuj wdrożenie usługi AKS Arc do wersji z października, a następnie ponownie połącz istniejące klastry z usługą Arc, aby obejść ten problem.

Błąd: "Połączenie z platformą Azure nie powiodło się. Uruchom polecenie "Set-AksHciRegistration" i spróbuj ponownie"

Ten błąd oznacza, że poświadczenia logowania do platformy Azure wygasły.

Użyj polecenia Set-AksHciRegistration , aby zalogować się na platformie Azure przed ponownym uruchomieniem polecenia Enable-AksHciArcConnection . Podczas ponownego uruchamiania Set-AksHciRegistrationupewnij się, że używasz tych samych szczegółów subskrypcji i grupy zasobów, które zostały użyte podczas pierwszego zarejestrowania hosta usługi AKS na platformie Azure na potrzeby rozliczeń. Jeśli ponownie uruchomisz polecenie z inną subskrypcją lub grupą zasobów, nie zostaną one zarejestrowane. Po ustawieniu Set-AksHciRegistrationsubskrypcji i grupy zasobów w programie nie można ich zmienić bez odinstalowywania usługi AKS Arc.

Błąd: "Mój klaster" nie jest prawidłową nazwą klastra. Nazwy muszą mieć małe litery i pasują do wzorca wyrażenia regularnego: '^[a-z0-9][a-z0-9-]*[a-z0-9]$"

Ten błąd wskazuje, że klaster obciążenia nie jest zgodne z konwencją nazewnictwa Platformy Kubernetes.

Jak sugeruje błąd, upewnij się, że nazwa klastra jest mała i pasuje do wzorca wyrażenia regularnego: '^[a-z0-9][a-z0-9-]*[a-z0-9]$".

Błąd: "addons.msft.microsoft "demo-arc-onboarding" już istnieje"

Ten błąd zwykle oznacza, że klaster usługi AKS został już połączony z platformą Kubernetes z obsługą usługi Arc. Aby potwierdzić połączenie, przejdź do Azure Portal i sprawdź w obszarze subskrypcji i grupy zasobów podanej podczas uruchamiania polecenia Set-AksHciRegistration (jeśli użyto wartości domyślnych) lub Enable-AksHciArcConnection (jeśli nie użyto wartości domyślnych). Możesz również sprawdzić, czy usługa AKS w klastrze azure Stack HCI jest połączona z platformą Azure, uruchamiając polecenie az connectedk8s show interfejsu wiersza polecenia platformy Azure. Jeśli nie widzisz klastra obciążeń, uruchom Disable-AksHciArcConnection polecenie i spróbuj ponownie.

Błąd: "autorest/azure: Usługa zwróciła błąd. Status=404 Code="ResourceNotFound"...

Poniższy błąd oznacza, że platforma Azure nie może odnaleźć zasobu usługi ARM skojarzonego connectedCluster z klastrem:

autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resource group 'AKS-HCI2' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"]

Ten błąd może wystąpić, jeśli:

  • Podczas uruchamiania Disable-AksHciArcConnection polecenia cmdlet podano nieprawidłową grupę zasobów lub subskrypcję.
  • Zasób został ręcznie usunięty w Azure Portal.
  • Usługa ARM nie może odnaleźć zasobu platformy Azure.

Aby rozwiązać ten błąd, jak wskazano w komunikacie o błędzie, zobacz Rozwiązywanie problemów z błędami nie znaleziono zasobu.

Błąd: "Dezinstalacja arc dodatków klastra: nie znaleziono przestrzeni nazw "azure-arc"

Ten błąd zwykle oznacza, że agenci usługi Arc odinstalowali już z klastra obciążenia lub ręcznie usunięto azure-arc przestrzeń nazw przy użyciu kubectl polecenia .

Przejdź do Azure Portal, aby potwierdzić, że nie masz żadnych wycieków zasobów. Sprawdź na przykład, czy nie widzisz connectedCluster zasobu w subskrypcji i grupie zasobów.

Błąd: "Subskrypcja platformy Azure nie jest prawidłowo skonfigurowana"

Ten problem może wystąpić, jeśli nie skonfigurowano subskrypcji platformy Azure z dostawcami zasobów Kubernetes z obsługą usługi Arc. Obecnie sprawdzamy, czy Microsoft.Kubernetes i Microsoft.KubernetesConfiguration są skonfigurowane.

Aby uzyskać więcej informacji na temat włączania tych dostawców zasobów, zobacz Rejestrowanie dostawców platformy Kubernetes z obsługą usługi Arc.