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-AksHciRegistration
programie . 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
, ,tenant
resource group
location
isecret
, 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ć polecenieEnable-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-arc
nie 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-AksHciRegistration
upewnij 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-AksHciRegistration
subskrypcji 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.