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

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

Możesz również otworzyć problem z pomocą techniczną, jeśli żadne z obejść wymienionych poniżej nie dotyczy Ciebie.

Błąd: Error while updating agents for enabling features

Jeśli włączysz niestandardowe funkcje lokalizacji i połączenia klastra w Azure Arc AKS w klastrze Azure Stack HCI, 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śniowym wydaniem i został rozwiązany w wersji z października. Ten problem nie występuje w przypadku nowych klastrów Azure Stack HCI AKS utworzonych przy użyciu wersji z października i połączonych z usługą Arc przy użyciu narzędzia Enable-AksHciArcConnection. Zaktualizuj usługę AKS Azure Stack HCI wdrożenia do wersji z października, a następnie ponownie połącz istniejące klastry z usługą Arc, aby obejść ten problem.

Błąd: addons.msft.microsoft "demo-arc-onboarding" already exists

Ten błąd zazwyczaj oznacza, że usługa AKS została już połączona w klastrze Azure Stack HCI z platformą Kubernetes z włączoną usługą Arc. Aby potwierdzić połączenie, przejdź do usługi Azure Portal i sprawdź subskrypcję i grupę zasobów podaną podczas uruchamiania funkcji Set-AksHciRegistration (jeśli zostały użyte wartości domyślne) lub Enable-AksHciArcConnection (jeśli nie zostały użyte wartości domyślne). 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 klaster obciążenia nie jest wyświetlony, uruchom Disable-AksHciArcConnection go i spróbuj ponownie.

Błąd: Connection to Azure failed. Please run 'Set-AksHciRegistration' and try again

Ten błąd oznacza, że poświadczenia logowania do platformy Azure wygasły. Użyj polecenia Set-AksHciRegistration, aby zalogować się do platformy Azure przed uruchomieniem ponownie polecenia Enable-AksHciArcConnection. Podczas ponownego korzystania z programu upewnij się, że używasz tych samych szczegółów subskrypcji i grupy zasobów, które są używane podczas pierwszej rejestracji hosta usługi AKS na Set-AksHciRegistration platformie Azure na użytek rozliczeń. Jeśli ponownie uruchomić polecenie z inną subskrypcją lub grupą zasobów, nie zostaną one zarejestrowane. Po skonfigurowaniu subskrypcji i grupy zasobów w programie nie można ich zmienić bez odinstalowania usługi AKS na Set-AksHciRegistration Azure Stack HCI.

Błąd: System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set...

Podczas tworzenia klastra obciążeń i łączenia go z platformą Kubernetes z włączoną usługą Arc Windows Pomocą centrum administracyjnego programu może wystąpić następujący błąd:

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ążeń i spróbuj ponownie przy użyciu Windows Administracyjnego.
  • 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.

Błąd: Timed out waiting for the condition

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

  • Klastry zostały utworzone na maszynie wirtualnej platformy Azure w środowisku zwirtualizowanym lub jeśli wdrażasz usługę AKS na Azure Stack HCI na wielu poziomach wirtualizacji.
  • Z powodu powolnego internetu.

Jeśli jeden z powyższych scenariuszy dotyczy Ciebie, uruchom opcję Disable-AksHciArcConnection i spróbuj ponownie nałączyć połączenie. Jeśli powyższy scenariusz nie ma zastosowania do Ciebie, otwórz problem z obsługą w uciece AKS w Azure Stack HCI.

Błąd: Azure subscription is not properly configured

Ten problem może wystąpić, jeśli subskrypcja platformy Azure nie została skonfigurowana u dostawców zasobów platformy Kubernetes z włączoną usługą Arc. Obecnie sprawdzamy, Microsoft.Kubernetes czy Microsoft.KubernetesConfiguration i są skonfigurowane. Aby uzyskać więcej informacji na temat włączania tych dostawców zasobów, zobacz enabling resource providers for Arc enabled Kubernetes (Włączanie dostawców zasobów dla usługi Kubernetesz obsługą usługi Arc).

Błąd: A workload cluster with the name 'my-aks-cluster' was not found

Ten błąd oznacza, że klaster obciążenia nie został utworzony lub nazwa klastra obciążenia została niepoprawnie wpisana. Uruchom plik Get-AksHciCluster, aby potwierdzić, że masz poprawną nazwę lub czy istnieje klaster, który chcesz połączyć z usługą Arc.

Błąd: 'My-Cluster' is not a valid cluster name. Names must be lower-case and match the regular expression pattern: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'

Ten błąd wskazuje, że klaster obciążeń nie jest zgodne z konwencją nazewnictwa Kubernetes. Jak sugeruje błąd, upewnij się, że nazwa klastra zawiera małe litery i pasuje do wzorca wyrażenia regularnego: "^[a-z0-9][a-z0-9-]*[a-z0-9]$".

Błąd: Cluster addons arc uninstall Error: namespaces "azure-arc" not found

Ten błąd zazwyczaj oznacza, że agenci usługi Arc są już odinstalowyni z klastra obciążeń lub ręcznie usunięto przestrzeń nazw azure-arc za pomocą kubectl polecenia . Przejdź do Azure Portal, aby potwierdzić, że nie ma żadnych przecieków zasobów. Na przykład sprawdź, czy nie widzisz zasobu connectedCluster w subskrypcji i grupie zasobów.

Błąd: Secrets "sh.helm.release.v1.azure-arc.v1" not found

Ten błąd wskazuje, że nie można osiągnąć serwera interfejsu API Kubernetes. Spróbuj ponownie uruchomić polecenie Disable-AksHciArcConnection, a następnie przejdź do Azure Portal, aby potwierdzić, że zasób został faktycznie usunięty. Możesz również uruchomić program , kubectl get ns -a aby potwierdzić, że przestrzeń nazw , nie istnieje w azure-arc klastrze.

Błąd: autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound"...

Poniższy błąd oznacza, że platforma Azure nie może odnaleźć zasobu connectedCluster USŁUGI ARM skojarzonego 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 polecenia cmdlet podaliśmy nieprawidłową grupę zasobów lub Disable-AksHciArcConnection subskrypcję.
  • Ręcznie usunięto zasób z 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 błędów nie znaleziono zasobu.

Enable-AksHciArcConnection się, jeśli Connect-AzAccount jest używana do logowania się do platformy Azure

Jeśli logujesz się do platformy Azure przy użyciu narzędzia Połączenie-AzAccount, możesz skonfigurować inną subskrypcję jako kontekst domyślny niż ta, która została podana jako dane wejściowe dla set-AksHciRegistration. Po uruchomieniu polecenia Enable-AksHciArcConnectionpolecenie oczekuje subskrypcji używanej w programie . Jednak program Enable-AksHciArcConnection pobiera domyślną subskrypcję ustawioną przy użyciu funkcji i w związku z tym Connect-AzAccount może spowodować błąd. Aby zapobiec temu błędowi, wykonaj jedną z poniższych opcji:

  • Opcja 1. Uruchom polecenie , aby zalogować się do platformy Azure przy użyciu tych samych parametrów (subskrypcja i grupa zasobów), których używaliśmy podczas pierwszego uruchomienia polecenia w celu połączenia hosta usługi AKS z platformą Azure w celu naliczania Set-AksHciRegistration opłat. Następnie można używać z wartościami domyślnymi, a klaster zostanie połączony z usługą Arc w ramach subskrypcji rozliczeń hosta Enable-AksHciArcConnection -Name <ClusterName> usługi AKS i grupy zasobów.

  • Opcja 2. Uruchom program z wszystkimi parametrami, , , , i , aby połączyć klaster z Azure Arc w ramach innej subskrypcji i grupy zasobów niż Enable-AksHciArcRegistrationsubscription host usługi resource grouplocationtenantsecret AKS. Należy również uruchomić program , 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ś Enable-AksHciArcRegistration właścicielem subskrypcji).

Następne kroki