Bearbeiten

Freigeben über


Beheben von Fehlern beim Aktivieren oder Deaktivieren von Azure Arc auf Ihren AKS-Workloadclustern in AKS, die von Arc aktiviert sind

Gilt für: AKS auf Azure Local, AKS auf Windows Server

In diesem Artikel werden Fehler beschrieben, die auftreten können (und deren Problemumgehungen), während Sie Ihre AKS-Workloadcluster mithilfe der PowerShell-Cmdlets Enable-AksHciArcConnection und Disable-AksHciArcConnection in AKS Arc mit Azure Arc verbinden oder trennen. Probleme, die in diesem Artikel nicht behandelt werden, finden Sie unter "Problembehandlung bei Arc enabled Kubernetes".For issues that are not covered in this article, see Troubleshooting Arc enabled Kubernetes.

Sie können auch ein Supportproblem öffnen, wenn keine der aufgeführten Problemumgehungen für Sie gilt.

Fehler: "Ein Workloadcluster mit dem Namen 'my-aks-cluster' wurde nicht gefunden"

Dieser Fehler bedeutet, dass Sie den Workloadcluster nicht erstellt haben oder den Namen des Workloadclusters falsch geschrieben haben.

Führen Sie Get-AksHciCluster aus, um sicherzustellen, dass der richtige Name vorhanden ist oder dass der Cluster, den Sie mit Arc verbinden möchten, vorhanden ist.

Fehler: "System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set..."

Der folgende Fehler kann auftreten, wenn Sie Windows Admin Center verwenden, um einen Workloadcluster zu erstellen und mit Arc-fähigen Kubernetes zu verbinden:

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]

Sehen Sie sich die folgenden Optionen zum Beheben dieses Problems an:

  • Option 1: Löschen Sie den Workloadcluster, und wiederholen Sie den Vorgang mit Windows Admin Center.
  • Option 2: Überprüfen Sie in PowerShell, ob die Erstellung des Clusters erfolgreich war, indem Sie den Befehl Get-AksHciCluster ausführen. Verwenden Sie anschließend Enable-AksHciArcConnection, um für Ihren Cluster eine Verbindung mit Arc herzustellen.

"Enable-AksHciArcConnection" schlägt fehl, wenn "Connect-AzAccount" zum Anmelden bei Azure verwendet wird.

Wenn Sie Connect-AzAccount sich bei Azure anmelden, legen Sie möglicherweise ein anderes Abonnement als Ihren Standardkontext als das Abonnement fest, das Sie als Eingabe eingegeben Set-AksHciRegistrationhaben. Wenn Sie dann ausführen Enable-AksHciArcConnection, erwartet der Befehl das in Set-AksHciRegistration. Da von Enable-AksHciArcConnection aber das Standardabonnement abgerufen wird, das mit Connect-AzAccount festgelegt wurde, tritt ggf. ein Fehler auf.

Verwenden Sie eine der folgenden Optionen, um diesen Fehler zu verhindern:

  • Option 1: Führen Sie Set-AksHciRegistration aus, um sich bei Azure mit den gleichen Parametern (Abonnement und Ressourcengruppe) anzumelden, die Sie bei der erstmaligen Ausführung des Befehls für die Verbindung Ihres AKS-Hosts mit Azure zu Abrechnungszwecken verwendet haben. Anschließend können Sie Enable-AksHciArcConnection -Name <ClusterName> mit Standardwerten nutzen. Für Ihren Cluster wird nun eine Verbindung mit Arc hergestellt, indem das Abrechnungsabonnement und die Ressourcengruppe für den AKS-Host verwendet werden.

  • Option 2: Führen Sie Enable-AksHciArcRegistration mit allen Parametern (subscription, resource group, location, tenant und secret) aus, um für Ihren Cluster mit einem anderen Abonnement und einer anderen Ressourcengruppe als für den AKS-Host eine Verbindung mit Azure Arc herzustellen. Sie sollten Enable-AksHciArcRegistration auch ausführen, wenn Sie nicht über genügend Berechtigungen verfügen, um für Ihren Cluster über Ihr Azure-Konto (falls Sie beispielsweise nicht der Abonnementbesitzer sind) eine Verbindung mit Azure Arc herzustellen.

Fehler: "Timed out waiting for the condition"

Dieser Fehler ist normalerweise ein Hinweis auf eines der folgenden Probleme:

  • Die Cluster wurden in einer virtuellen Azure-VM erstellt, oder Sie haben AKS auf mehreren Virtualisierungsebenen auf Azure Local bereitgestellt.
  • Ein langsames Internet verursachte das Timeout.

Wenn eines der oben genannten Szenarien für Sie gilt, führen Sie Disable-AksHciArcConnection aus, und versuchen Sie erneut, eine Verbindung herzustellen. Wenn das oben genannte Szenario nicht für Sie gilt, öffnen Sie ein Supportproblem für AKS auf Azure Local.

Fehler: "Geheimnisse "sh.helm.release.v1.azure-arc.v1" nicht gefunden"

Dieser Fehler ist ein Hinweis darauf, dass Ihr Kubernetes-API-Server nicht erreicht werden konnte.

Führen Sie den Disable-AksHciArcConnection Befehl erneut aus, und wechseln Sie dann zur Azure-Portal, um zu bestätigen, dass Ihre connectedCluster Ressource tatsächlich gelöscht wurde. Sie können auch kubectl get ns -A ausführen, um zu bestätigen, dass der Namespace azure-arc in Ihrem Cluster nicht vorhanden ist.

Fehler: "Verbindung mit Azure fehlgeschlagen. Führen Sie "Set-AksHciRegistration" aus, und versuchen Sie es erneut"

Dieser Fehler bedeutet, dass Ihre Anmeldeinformationen für Azure abgelaufen sind.

Hier können Sie Set-AksHciRegistration sich bei Azure anmelden, bevor Sie den Enable-AksHciArcConnection Befehl erneut ausführen. Stellen Sie beim erneuten Ausführen von Set-AksHciRegistration sicher, dass Sie dieselben Abonnement- und Ressourcengruppendetails verwenden, die Sie auch bei der erstmaligen Registrierung des AKS-Hosts bei Azure zu Abrechnungszwecken verwendet haben. Wenn Sie den Befehl mit einem anderen Abonnement oder einer anderen Ressourcengruppe erneut ausführen, werden diese nicht registriert. Nachdem das Abonnement und die Ressourcengruppe festgelegt Set-AksHciRegistrationwurden, können sie nicht mehr geändert werden, ohne AKS Arc zu deinstallieren.

Fehler: "My-Cluster" ist kein gültiger Clustername. Namen müssen klein geschrieben sein und dem Muster für reguläre Ausdrücke entsprechen: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'"

Dieser Fehler ist ein Hinweis darauf, dass für den Workloadcluster die Kubernetes-Namenskonvention nicht befolgt wird.

Stellen Sie wie der Fehler nahe, dass der Clustername klein geschrieben ist und dem Muster des regulären Ausdrucks entspricht: '^[a-z0-9][a-z0-9-]*[a-z0-9]$'.

Fehler: "addons.msft.microsoft "demo-arc-onboarding" ist bereits vorhanden"

Dieser Fehler bedeutet in der Regel, dass Sie Ihren AKS-Cluster bereits mit Arc-fähigen Kubernetes verbunden haben. Um die Verbindung zu bestätigen, wechseln Sie zu der Azure-Portal, und überprüfen Sie unter der Abonnement- und Ressourcengruppe, die Sie bei der Wiederverwendung Set-AksHciRegistration angegeben haben (wenn Sie Standardwerte verwendet haben) oder Enable-AksHciArcConnection (wenn Sie keine Standardwerte verwendet haben). Sie können auch bestätigen, ob Ihre AKS im lokalen Azure-Cluster mit Azure verbunden ist, indem Sie den az connectedk8s show Azure CLI-Befehl ausführen. Wenn Ihr Workloadcluster nicht angezeigt wird, führen Sie den Vorgang aus Disable-AksHciArcConnection , und versuchen Sie es erneut.

Fehler: "autorest/azure: Der Dienst hat einen Fehler zurückgegeben. Status=404 Code="ResourceNotFound"..."

Dieser Fehler bedeutet, dass Azure die Azure Resource Manager-Ressource, die connectedCluster Ihrem Cluster zugeordnet ist, nicht finden kann:

"autorest/azure: Der Dienst hat einen Fehler zurückgegeben. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resource group 'AKS-HCI2' was not found. Weitere Details finden Sie unter https://aka.ms/ARMResourceNotFoundFix"]"

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Sie haben beim Ausführen des Cmdlets Disable-AksHciArcConnection eine falsche Ressourcengruppe oder ein falsches Abonnement angegeben.
  • Sie haben die Ressource im Azure-Portal manuell gelöscht.
  • Azure Resource Manager kann Ihre Azure-Ressource nicht finden.

Informationen zum Beheben dieses Fehlers gemäß den Angaben in der Fehlermeldung finden Sie unter Beheben von Fehlern des Typs „Ressource nicht gefunden“.

Fehler: "Cluster-Addons arc uninstall Error: namespaces "azure-arc" not found"

Dieser Fehler bedeutet in der Regel, dass Sie Arc-Agents bereits aus Ihrem Workloadcluster deinstalliert haben oder den Namespace mit dem azure-arc kubectl Befehl manuell gelöscht haben.

Wechseln Sie zur Azure-Portal, um zu bestätigen, dass Sie keine nicht freigegebenen Ressourcen haben. Stellen Sie beispielsweise sicher, dass keine Ressource in der Abonnement- und Ressourcengruppe angezeigt connectedCluster wird.

Fehler: "Azure-Abonnement ist nicht ordnungsgemäß konfiguriert"

Dieses Problem kann auftreten, wenn Sie Ihr Azure-Abonnement nicht mit den Arc-fähigen Kubernetes-Ressourcenanbietern konfiguriert haben. Wir überprüfen derzeit, ob Microsoft.Kubernetes und Microsoft.KubernetesConfiguration konfiguriert wurden.

Weitere Informationen zum Aktivieren dieser Ressourcenanbieter finden Sie unter Registrieren von Anbietern für Arc-fähige Kubernetes.

Fehler: "ConfigMap 'azure-clusterconfig' im Namespace 'azure-arc' kann nicht gelesen werden"

Möglicherweise tritt dieses Problem auf, wenn Sie versuchen, die Arc-Verbindung auf einem AKS-Cluster erneut zu aktivieren, nachdem Sie eine vorhandene Verbindung deaktiviert haben. Der Fehler ist auf eine Änderung am Namespace zurückzuführen, in dem Azure Arc-Geheimnisse gespeichert werden.

Die Schritte, die zu dem Fehler führen, sind:

  1. Verbinden Eines Workloadclusters mit Azure Arc mit Enable-AksHciArcConnection -name $clusterName.
  2. Trennen Sie den Cluster von Azure Arc: Disable-AksHciArcConnection -name $clusterName.
  3. Verbinden Sie den Workloadcluster erneut mit Azure Arc mit diesem Befehl: Enable-AksHciArcConnection -name $clusterName.

Der Fehler lautet:

returned a non zero exit code 1 [Error: Job azure-arc-onboarding terminated with Failed to run CLI command: Error from server (NotFound): namespaces "azure-arc"
not found
System.Management.Automation.RemoteException
ERROR: Unable to read ConfigMap 'azure-clusterconfig' in 'azure-arc' namespace:
Error Response: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"configmaps \"azure-clusterconfig\" not
found","reason":"NotFound","details":{"name":"azure-clusterconfig","kind":"configmaps"},"code":404}
System.Management.Automation.RemoteException
System.Management.Automation.RemoteException
: Job Failed Condition

Enable-AksHciArcConnection schlägt immer fehl, und nach der Ausführung Disable-AksHciArcConnectiongibt es einen verbleibenden geheimen Schlüssel im Azure-arc-release-Namespace. Um zu überprüfen, ob der geheime Schlüssel vorhanden ist, können Sie den folgenden Befehl ausführen und sicherstellen, dass kein geheimer Schlüssel aufgeführt ist:

kubectl get secret -nazure-arc-release sh.helm.release.v1.azure-arc.v1

Um dieses Problem zu umgehen, löschen Sie den Azure-arc-release-Namespace nach dem Ausführen Disable-AksHciArcConnection:

$clusterName = "<name of cluster>"
Get-AksHciCredential -name $clusterName
kubectl delete namespace azure-arc-release
Disable-AksHciArcConnection -name $clusterName
Enable-AksHciArcConnection -name $clusterName