Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Anleitungen zur Problembehandlung bei Problemen mit Azure Arc-fähigen Kubernetes-Konnektivität, Berechtigungen und Agents. Außerdem finden Sie Anleitungen zur Problembehandlung für Azure GitOps, die Sie entweder in Azure Arc-fähigen Kubernetes- oder Azure Kubernetes-Dienstclustern (Azure Kubernetes Service, AKS) verwenden können.
Hilfe zur Problembehandlung bei Erweiterungen, z. B. GitOps (Flux v2), Azure Monitor Container Insights oder Open Service Mesh, finden Sie unter Problembehandlung bei Erweiterungsproblemen für Azure Arc-fähige Kubernetes-Cluster.
Azure CLI
Stellen Sie vor der Verwendung von az connectedk8s- oder az k8s-configuration-CLI-Befehlen sicher, dass Azure CLI so eingestellt ist, dass es mit dem richtigen Azure-Abonnement funktioniert.
az account set --subscription 'subscriptionId'
az account show
Wenn ein Fehler wie cli.azext_connectedk8s.custom: Failed to download and install kubectl angezeigt wird, führen Sie az aks install-cli --install-location ~/.azure/kubectl-client/kubectl aus, bevor Sie versuchen, az connectedk8s connect erneut auszuführen. Mit diesem Befehl wird der kubectl-Client installiert, der für die Ausführung des Befehls erforderlich ist.
Azure Arc-Agents
Alle Agents für Kubernetes mit Azure Arc-Unterstützung werden als Pods im azure-arc-Namespace bereitgestellt. Alle Pods sollten ausgeführt werden und ihre Integritätsprüfungen bestehen.
Überprüfen Sie zunächst das Azure Arc-Helm-Chart-Release:
$ helm --namespace default status azure-arc
NAME: azure-arc
LAST DEPLOYED: Fri Apr 3 11:13:10 2020
NAMESPACE: default
STATUS: deployed
REVISION: 5
TEST SUITE: None
Wenn das Helm-Chart-Release nicht gefunden wird oder fehlt, versuchen Sie, erneut eine Verbindung des Clusters mit Azure Arc herzustellen.
Wenn das Helm-Chart-Release vorhanden ist und den STATUS: deployed aufweist, überprüfen Sie den Status des Agents mithilfe von kubectl -n azure-arc get deployments,pods:
$ kubectl -n azure-arc get deployments,pods
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/cluster-metadata-operator 1/1 1 1 3d19h
deployment.apps/clusterconnect-agent 1/1 1 1 3d19h
deployment.apps/clusteridentityoperator 1/1 1 1 3d19h
deployment.apps/config-agent 1/1 1 1 3d19h
deployment.apps/controller-manager 1/1 1 1 3d19h
deployment.apps/extension-events-collector 1/1 1 1 3d19h
deployment.apps/extension-manager 1/1 1 1 3d19h
deployment.apps/flux-logs-agent 1/1 1 1 3d19h
deployment.apps/kube-aad-proxy 1/1 1 1 3d19h
deployment.apps/metrics-agent 1/1 1 1 3d19h
deployment.apps/resource-sync-agent 1/1 1 1 3d19h
NAME READY STATUS RESTARTS AGE
pod/cluster-metadata-operator-74747b975-9phtz 2/2 Running 0 3d19h
pod/clusterconnect-agent-cf4c7849c-88fmf 3/3 Running 0 3d19h
pod/clusteridentityoperator-79bdfd945f-pt2rv 2/2 Running 0 3d19h
pod/config-agent-67bcb94b7c-d67t8 1/2 Running 0 3d19h
pod/controller-manager-559dd48b64-v6rmk 2/2 Running 0 3d19h
pod/extension-events-collector-85f4fbff69-55zmt 2/2 Running 0 3d19h
pod/extension-manager-7c7668446b-69gps 3/3 Running 0 3d19h
pod/flux-logs-agent-fc7c6c959-vgqvm 1/1 Running 0 3d19h
pod/kube-aad-proxy-84d668c44b-j457m 2/2 Running 0 3d19h
pod/metrics-agent-58fb8554df-5ll67 2/2 Running 0 3d19h
pod/resource-sync-agent-dbf5db848-c9lg8 2/2 Running 0 3d19h
Alle Pods sollten STATUS als Running mit 3/3 oder 2/2 unter der Spalte READY anzeigen. Rufen Sie Protokolle ab, und beschreiben Sie die Pods, die Error oder CrashLoopBackOff zurückgeben. Wenn Pods im Zustand Pending hängengeblieben sind, sind möglicherweise nicht ausreichend Ressourcen auf den Clusterknoten vorhanden. Wenn Sie Ihren Cluster hochskalieren, können diese Pods in den Zustand Running übergehen.
Fehler bei der Ressourcenbereitstellung oder Fehler beim Timeout des Diensts
Wenn diese Fehler angezeigt werden, überprüfen Sie den Azure-Status , um festzustellen, ob sich aktive Ereignisse auf den Status des Azure Arc-fähigen Kubernetes-Diensts auswirken. Wenn dies der Fall ist, warten Sie, bis das Dienstereignis aufgelöst wurde, und versuchen Sie dann erneut, das Onboarding nach dem Löschen der vorhandenen verbundenen Clusterressource durchzuführen. Wenn während des Onboardings keine Dienstereignisse auftreten und Weiterhin Probleme auftreten, öffnen Sie eine Supportanfrage , damit Microsoft das Problem untersuchen kann.
Fehler bei Ansprüchen wegen Überschreitung
Wenn Sie eine Meldung zur Überschreitung erhalten, stellen Sie sicher, dass Ihr Dienstprinzipal nicht Teil von mehr als 200 Microsoft Entra-Gruppen ist. Wenn dies zutrifft, erstellen und verwenden Sie einen anderen Dienstprinzipal, der nicht Mitglied von mehr als 200 Gruppen ist, oder entfernen Sie den ursprünglichen Dienstprinzipal aus einigen seiner Gruppen, und versuchen Sie es erneut.
Ein Überschreitungsanspruch kann auch auftreten, wenn Sie eine ausgehende Proxyumgebung konfigurieren, ohne den Endpunkt https://<region>.obo.arc.azure.com:8084/ für ausgehenden Datenverkehr zuzulassen.
Wenn keine dieser Bedingungen zutrifft, öffnen Sie eine Supportanfrage , damit Microsoft das Problem untersuchen kann.
Probleme beim Verbinden von Kubernetes-Clustern mit Azure Arc
Das Herstellen einer Verbindung von Clustern mit Azure Arc erfordert Zugriff auf ein Azure-Abonnement und cluster-admin-Zugriff auf einen Zielcluster. Wenn Sie den Cluster nicht erreichen können oder über unzureichende Berechtigungen verfügen, schlägt die Verbindung des Clusters mit Azure Arc fehl. Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, um einen Cluster zu verbinden.
Tipp
Einen visuellen Leitfaden zum Beheben der Verbindungsprobleme finden Sie unter Diagnostizieren von Verbindungsproblemen für Arc-fähige Kubernetes-Cluster.
Probleme bei der DNS-Auflösung
Hilfe bei Problemen im Zusammenhang mit der DNS-Auflösung in Ihrem Cluster finden Sie unter Debuggen der DNS-Auflösung.
Probleme mit der Ausgehenden Netzwerkkonnektivität
Probleme mit ausgehender Netzwerkkonnektivität können aus vielen verschiedenen Gründen auftreten. Stellen Sie zunächst sicher, dass Ihre Umgebung alle Netzwerkanforderungen erfüllt.
Wenn Konnektivitätsprobleme auftreten und sich ihr Cluster hinter einem ausgehenden Proxyserver befindet, stellen Sie sicher, dass Sie proxyparameter beim Onboarding Ihres Clusters übergeben und dass der Proxy ordnungsgemäß konfiguriert ist. Informationen finden Sie unter Herstellen einer Verbindung mithilfe eines ausgehenden Proxyservers.
Möglicherweise wird ein Fehler angezeigt, ähnlich der folgenden Meldung:
An exception has occurred while trying to execute the cluster diagnostic checks in the cluster. Exception: Unable to pull cluster-diagnostic-checks helm chart from the registry 'mcr.microsoft.com/azurearck8s/helmchart/stable/clusterdiagnosticchecks:0.1.2': Error: failed to do request: Head "https://mcr.microsoft.com/v2/azurearck8s/helmchart/stable/clusterdiagnosticchecks/manifests/0.1.2": dial tcp xx.xx.xx.219:443: i/o timeout
Dieser Fehler tritt auf, wenn der mcr.microsoft.com-Endpunkt blockiert ist. Stellen Sie sicher, dass Ihr Netzwerk eine Verbindung zu diesem Endpunkt zulässt und alle anderen Netzwerkanforderungen erfüllt.
Fehler beim Abrufen des MSI-Zertifikats
Probleme beim Abrufen des MSI-Zertifikats treten in der Regel aufgrund von Netzwerkproblemen auf. Überprüfen Sie, ob Ihre Umgebung alle Netzwerkanforderungen erfüllt, und versuchen Sie es dann erneut.
Unzureichende Clusterberechtigungen
Wenn die von Ihnen bereitgestellte Kubeconfig-Datei nicht über genügend Berechtigungen zum Installieren der Azure Arc-Agents verfügt, gibt der Azure CLI-Befehl einen Fehler zurück: Error: list: failed to list: secrets is forbidden: User "myuser" cannot list resource "secrets" in API group "" at the cluster scope
Um dieses Problem zu beheben, stellen Sie sicher, dass dem Benutzer, der den Cluster mit Azure Arc verbindet, die cluster-admin Rolle zugewiesen ist.
Herstellen einer Verbindung zwischen OpenShift-Cluster und Azure Arc nicht möglich
Wenn ein Timeout für az connectedk8s connect auftritt und das Verbinden eines OpenShift-Clusters mit Azure Arc fehlschlägt:
Stellen Sie sicher, dass der OpenShift-Cluster die erforderlichen Versionsvoraussetzungen erfüllt: 4.5.41 oder höher oder 4.6.35 oder höher oder 4.7.18 oder höher.
Führen Sie vor dem Ausführen
az connectedk8s connnectdiesen Befehl auf dem Cluster aus:oc adm policy add-scc-to-user privileged system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
Timeouts bei der Installation
Zum Verbinden eines Kubernetes-Clusters mit Azure Arc-fähigen Kubernetes muss Azure Arc-Agents auf dem Cluster installiert werden. Wenn der Cluster über eine langsame Internetverbindung ausgeführt wird, kann das Herunterladen des Container-Images durch Agenten möglicherweise länger dauern als die Azure CLI-Timeouts.
Helm-Timeout-Fehler
Möglicherweise wird der Fehler Unable to install helm release: Error: UPGRADE Failed: time out waiting for the condition angezeigt. Zur Behebung dieses Problems wird Folgendes empfohlen:
Führen Sie den folgenden Befehl aus:
kubectl get pods -n azure-arcÜberprüfen Sie, ob die Pods
clusterconnect-agentoderconfig-agentangezeigt werdencrashloopbackoff, oder ob bestimmte Container nicht ausgeführt werden.NAME READY STATUS RESTARTS AGE cluster-metadata-operator-664bc5f4d-chgkl 2/2 Running 0 4m14s clusterconnect-agent-7cb8b565c7-wklsh 2/3 CrashLoopBackOff 0 1m15s clusteridentityoperator-76d645d8bf-5qx5c 2/2 Running 0 4m15s config-agent-65d5df564f-lffqm 1/2 CrashLoopBackOff 0 1m14sWenn dies
azure-identity-certificatenicht vorhanden ist, wird die vom System zugewiesene verwaltete Identität nicht installiert.kubectl get secret -n azure-arc -o yaml | grep name:name: azure-identity-certificateUm dieses Problem zu beheben, versuchen Sie, die Arc-Bereitstellung zu löschen, indem Sie den
az connectedk8s deleteBefehl ausführen und dann den Cluster erneut verbinden. Wenn das Problem weiterhin besteht, ist es möglicherweise ein Problem mit Ihren Proxyeinstellungen. Versuchen Sie in diesem Fall, die Verbindung ihres Clusters mit Azure Arc über einen Proxy herzustellen, um Ihren Cluster über einen Proxy mit Arc zu verbinden. Überprüfen Sie außerdem, ob alle Netzwerkvoraussetzungen erfüllt sind.Wenn die
clusterconnect-agent- und dieconfig-agent-Pods ausgeführt werden, aber derkube-aad-proxy-Pod fehlt, überprüfen Sie Ihre Pod-Sicherheitsrichtlinien. Dieser Pod verwendet dasazure-arc-kube-aad-proxy-sa-Dienstkonto, das nicht über Administratorberechtigungen verfügt, aber die Berechtigung zum Bereitstellen des Host-Pfads erfordert.Wenn der Pod
kube-aad-proxyimContainerCreatingZustand festsitzt, überprüfen Sie, ob das kube-aad-proxy-Zertifikat zum Cluster heruntergeladen wurde.kubectl get secret -n azure-arc -o yaml | grep name:name: kube-aad-proxy-certificateWenn das Zertifikat fehlt, löschen Sie die Bereitstellung und versuchen Sie das Onboarding erneut, indem Sie sich mit einem anderen Namen für den Cluster erneut anmelden. Wenn das Problem weiterhin besteht, öffnen Sie eine Supportanfrage.
CryptoHash-Modulfehler
Wenn Sie versuchen, Kubernetes-Cluster in die Azure Arc-Plattform zu integrieren, gibt die lokale Umgebung (z. B. Ihre Clientkonsole) möglicherweise die folgende Fehlermeldung zurück:
Cannot load native module 'Crypto.Hash._MD5'
Manchmal können abhängige Module beim Hinzufügen der Erweiterungen connectedk8s und k8s-configuration über Azure CLI oder Azure PowerShell nicht erfolgreich heruntergeladen werden. Um dieses Problem zu lösen, können Sie die Erweiterungen in der lokalen Umgebung manuell entfernen und dann hinzufügen.
Zum Entfernen der Erweiterungen verwenden Sie Folgendes:
az extension remove --name connectedk8s
az extension remove --name k8s-configuration
Zum Hinzufügen der Erweiterungen verwenden Sie Folgendes:
az extension add --name connectedk8s
az extension add --name k8s-configuration
Probleme bei der Clusterverbindung
Wenn sich der Cluster hinter einem Outbound-Proxy oder einer Firewall befindet, überprüfen Sie, ob für *.servicebus.windows.net Websocket-Verbindungen aktiviert sind. Diese Verbindung ist speziell für das Cluster Connect-Feature erforderlich. Stellen Sie außerdem sicher, dass Sie die neueste Version der Azure CLI-Erweiterung connectedk8s verwenden, wenn Sie Probleme mit der Clusterverbindung haben.
Wenn die Pods clusterconnect-agent und kube-aad-proxy fehlen, ist die Clusterverbindungsfunktion wahrscheinlich für den Cluster deaktiviert. Falls ja, az connectedk8s proxy kann keine Sitzung mit dem Cluster hergestellt werden, und Sie erhalten möglicherweise eine Fehlermeldung. Cannot connect to the hybrid connection because no agent is connected in the target arc resource.
Um diesen Fehler zu beheben, aktivieren Sie das Clusterverbindungsfeature in Ihrem Cluster:
az connectedk8s enable-features --features cluster-connect -n $CLUSTER_NAME -g $RESOURCE_GROUP
Weitere Informationen finden Sie unter Verwenden von Cluster Connect zum sicheren Herstellen einer Verbindung mit Kubernetes-Clustern mit Azure Arc-Unterstützung.
Aktivieren von benutzerdefinierten Standorten per Dienstprinzipal
Wenn Sie Ihren Cluster mit Azure Arc verbinden oder benutzerdefinierte Speicherorte in einem vorhandenen Cluster aktivieren, wird möglicherweise die folgende Warnmeldung angezeigt:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Diese Warnmeldung wird angezeigt, wenn Sie einen Dienstprinzipal zum Anmelden bei Azure verwenden und der Dienstprinzipal nicht über die erforderlichen Berechtigungen verfügt. Führen Sie die folgenden Schritte aus, um diesen Fehler zu vermeiden:
Melden Sie sich mit Ihrem Benutzerkonto bei Azure CLI an. Rufen Sie die Objekt-ID der vom Azure Arc-Dienst verwendeten Microsoft Entra-Anwendung ab:
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query objectId -o tsvMelden Sie sich mit dem Dienstprinzipal bei Azure CLI an. Verwenden Sie den
<objectId>-Wert aus dem vorherigen Schritt, um benutzerdefinierte Speicherorte im Cluster zu aktivieren:- Führen Sie
az connectedk8s connect -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId>aus, um benutzerdefinierte Speicherorte beim Herstellen der Verbindung des Clusters mit Arc zu aktivieren. - Um benutzerdefinierte Speicherorte in einem Kubernetes-Cluster mit Azure Arc-Unterstützung zu aktivieren, führen Sie
az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId> --features cluster-connect custom-locationsaus
- Führen Sie
Nächste Schritte
- Erhalten Sie einen visuellen Leitfaden für die Diagnose von Verbindungsproblemen.
- Tipps zur Fehlerbehebung im Zusammenhang mit Clustererweiterungen anzeigen.