Freigeben über


Grundlegende Problembehandlung bei Problemen beim Starten von AKS-Clustern

In diesem Artikel werden die grundlegenden Problembehandlungsmethoden beschrieben, die Verwendet werden sollten, wenn Sie einen Microsoft Azure Kubernetes Service-Cluster (AKS) nicht erfolgreich starten können.

Voraussetzungen

Anzeigen von Fehlern über die Azure CLI

Wenn Sie Cluster mithilfe der Azure CLI starten, werden Fehler als Ausgabe aufgezeichnet, wenn der Vorgang fehlschlägt. Hier sehen Sie, wie ein Befehl, eine Benutzereingabe und eine Vorgangsausgabe in einer Bash Konsole angezeigt werden können:

$ az aks start --resource-group myResourceGroup --name MyManagedCluster

(VMExtensionProvisioningError) Unable to establish outbound connection from agents, please see https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/error-code-outboundconnfailvmextensionerror and https://aka.ms/aks-required-ports-and-addresses for more information.  
Details: instance 3 has extension error details : {vmssCSE error messages : {vmssCSE exit status=50, output=AGE_SHA=sha-16fd35

Diese Fehler enthalten häufig detaillierte Beschreibungen, was beim Startvorgang des Clusters schiefgelaufen ist, und sie enthalten Links zu Artikeln, die weitere Details enthalten. Darüber hinaus können Sie unsere Artikel zur Problembehandlung als Referenz verwenden, die auf dem Fehler basieren, den ein Azure CLI-Vorgang erzeugt.

Anzeigen von Fehlerdetails im Azure-Portal

Um die Details zu Fehlern im Azure-Portal anzuzeigen, überprüfen Sie das Azure-Aktivitätsprotokoll. Um die Liste der Aktivitätsprotokolle im Azure-Portal zu suchen, suchen Sie nach Aktivitätsprotokoll. Oder wählen Sie Benachrichtigungen (glockensymbol) und dann Weitere Ereignisse im Aktivitätsprotokoll aus.

Die Liste der Protokolle auf der Seite Aktivitätsprotokoll enthält einen Zeileneintrag, in dem der Spaltenwert Vorgangsnameden Namen Verwalteten Cluster starten trägt. Der entsprechende Spaltenwert Vom Ereignis initiiert wird auf den Namen Ihres Geschäfts-, Schul- oder Unikontos festgelegt. Wenn der Vorgang erfolgreich ist, wird im Spaltenwert Statusdie Option Akzeptiert angezeigt.

Screenshot: Blatt

Was geschieht, wenn stattdessen ein Fehler aufgetreten ist? In diesem Fall wird im Feld Status des Vorgangs "Verwalteten Cluster starten" die Option Fehler angezeigt. Im Gegensatz zu den Vorgängen zum Erstellen von Clusterkomponenten müssen Sie hier den Eintrag für fehlgeschlagene Vorgänge erweitern, um die Unteroperationseinträge zu überprüfen. Typische Unteroperationsnamen sind Richtlinienaktionen, z. B. die Richtlinienaktion "audit" und die Richtlinienaktion "auditIfNotExists". Einige Unteroperationen zeigen weiterhin, dass sie erfolgreich waren.

Zur weiteren Untersuchung können Sie einen der fehlgeschlagenen Unteroperationen auswählen. Ein seitenseitiger Bereich wird geöffnet, sodass Sie weitere Informationen zum Untervorgang anzeigen können. Sie können Probleme mit Werten für Felder wie Zusammenfassung, JSON und Änderungsverlauf beheben. Das JSON-Feld enthält den Ausgabetext für den Fehler im JSON-Format und enthält in der Regel die hilfreichsten Informationen.

Screenshot eines teilbetriebsseitigen Bereichs eines AKS-Clusteraktivitätsprotokolls, das zeigt, warum ein Startvorgang fehlgeschlagen ist.

Anzeigen von Clustererkenntnissen

Sie können auch Clustererkenntnisse generieren, die Ihnen bei der Problembehandlung helfen, indem Sie im Azure-Portal auf dem Blatt Probleme diagnostizieren und lösen. Führen Sie die folgenden Schritte aus, um auf dieses Feature zuzugreifen:

  1. Suchen Sie im Azure-Portal nach Kubernetes-Dienste, und wählen Sie diese Option aus.

  2. Wählen Sie den Namen Ihres AKS-Clusters aus.

  3. Wählen Sie im Navigationsbereich der AKS-Clusterseite Diagnose und Problembehandlung aus.

  4. Wählen Sie auf der Seite Probleme diagnostizieren und lösen den Link Cluster insights aus. Das Clustererkenntnissetool analysiert Ihren Cluster und stellt dann eine Liste der Ergebnisse im Abschnitt Beobachtungen und Lösungen auf der Seite Cluster insights bereit.

  5. Wählen Sie eines der Ergebnisse aus, um weitere Informationen zu einem Problem und seinen möglichen Lösungen anzuzeigen.

Anzeigen von Ressourcen im Azure-Portal

Im Azure-Portal möchten Sie möglicherweise die Ressourcen anzeigen, die beim Erstellen des Clusters erstellt wurden. In der Regel befinden sich diese Ressourcen in einer Ressourcengruppe, die mit MC_ beginnt. Die verwaltete Clusterressourcengruppe kann einen Namen wie MC_MyResourceGroup_MyManagedCluster_<location-code> haben. Der Name kann sich jedoch unterscheiden, wenn Sie den Cluster mithilfe einer benutzerdefinierten verwalteten Clusterressourcengruppe erstellt haben.

Um die Ressourcengruppe zu finden, suchen Sie im Azure-Portal nach Ressourcengruppen, und wählen Sie sie aus, und wählen Sie dann die Ressourcengruppe aus, in der der Cluster erstellt wurde. Die Ressourcenliste wird auf der Seite Übersicht der Ressourcengruppe angezeigt.

Warnung

Es wird empfohlen, ressourcen in der ressourcengruppe MC_ nicht zu ändern. Diese Aktion kann zu unerwünschten Auswirkungen auf Ihren AKS-Cluster führen.

Um die status einer VM-Skalierungsgruppe zu überprüfen, können Sie den Namen der Skalierungsgruppe in der Ressourcenliste der Ressourcengruppe auswählen. Es kann einen Namen ähnlich aks-nodepool1-12345678-vmss und einen Typwert der VM-Skalierungsgruppe aufweisen. Die status der Skalierungsgruppe wird oben auf der Seite Übersicht des Knotenpools angezeigt, und weitere Details werden in der Überschrift Essentials angezeigt. Wenn die Bereitstellung nicht erfolgreich war, lautet die angezeigte status Fehler.

Für alle Ressourcen können Sie Details überprüfen, um besser zu verstehen, warum die Bereitstellung fehlgeschlagen ist. Für eine Skalierungsgruppe können Sie den Text Fehler status auswählen, um Details zum Fehler anzuzeigen. Die Details befinden sich in einer Zeile, die die Spalten Status, Level und Code enthält. Das folgende Beispiel zeigt eine Zeile mit Spaltenwerten.

Spalte Beispielwert
Status Fehler bei der Bereitstellung
Ebene Error
Code ProvisioningState/failed/VMExtensionProvisioningError

Wählen Sie die Zeile aus, um das Feld Nachricht anzuzeigen. Diese enthält noch mehr Informationen zu diesem Fehler. Beispielsweise beginnt das Feld Nachricht für die Beispielzeile mit dem folgenden Text:

VM hat einen Fehler bei der Verarbeitung der Erweiterung "vmssCSE" gemeldet. Fehlermeldung: "Fehler beim Aktivieren: Befehl konnte nicht ausgeführt werden: Befehl beendet mit exit status=50 [stdout] [stderr] 0 0 0 --: Mit diesen Informationen können Sie schlussfolgern, dass die VMs in der Skalierungsgruppe fehlgeschlagen sind und eine generierte Beendigung status 50 generiert wurde.

Verwenden von Kubectl-Befehlen

Geben Sie kubectl-Befehle ein, um Details zu den Ressourcen zu erhalten, die im Cluster bereitgestellt wurden, um eine weitere Option zur Problembehandlung von Fehlern in Ihrem Cluster zu erhalten. Um kubectl zu verwenden, melden Sie sich zuerst bei Ihrem AKS-Cluster an:

az aks get-credentials --resource-group MyResourceGroup --name MyManagedCluster

Abhängig von der Art des Fehlers und dem Zeitpunkt des Auftretens können Sie sich möglicherweise nicht bei Ihrem Cluster anmelden, um weitere Details zu erhalten. Wenn Ihr Cluster jedoch erstellt wurde und im Azure-Portal angezeigt wird, sollten Sie sich im Allgemeinen anmelden und kubectl-Befehle ausführen können.

Anzeigen von Clusterknoten (kubectl get-Knoten)

Um weitere Details zum Ermitteln des Zustands der Knoten zu erhalten, zeigen Sie die Clusterknoten an, indem Sie den Befehl kubectl get nodes eingeben. In diesem Beispiel melden keine Knoten im Cluster:

$ kubectl get nodes

No resources found

Anzeigen von Pods im Systemnamespace (kubectl get pods)

Das Anzeigen der Pods im kube-system-Namespace ist auch eine gute Möglichkeit, ihr Problem zu beheben. Mit dieser Methode können Sie die status der Kubernetes-Systempods anzeigen. In diesem Beispiel geben wir den kubectl get pods Befehl ein:

$ kubectl get pods -n kube-system
NAME                                  READY   STATUS    RESTARTS   AGE
coredns-845757d86-7xjqb               0/1     Pending   0          78m
coredns-autoscaler-5f85dc856b-mxkrj   0/1     Pending   0          77m
konnectivity-agent-67f7f5554f-nsw2g   0/1     Pending   0          77m
konnectivity-agent-8686cb54fd-xlsgk   0/1     Pending   0          65m
metrics-server-6bc97b47f7-dfhbr       0/1     Pending   0          77m

Beschreiben der status eines Pods (kubectl describe pod)

Indem Sie die status der Pods beschreiben, können Sie die Konfigurationsdetails und alle Ereignisse anzeigen, die auf den Pods aufgetreten sind. Führen Sie den Befehl kubectl describe pod aus:

$ kubectl describe pod coredns-845757d86-7xjqb -n kube-system
Name:                 coredns-845757d86-7xjqb
Namespace:            kube-system
Priority:             2000001000
Priority Class Name:  system-node-critical
Node:                 <none>
Labels:               k8s-app=kube-dns
                      kubernetes.io/cluster-service=true
                      pod-template-hash=845757d86
                      version=v20
...
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  24m (x1 over 25m)   default-scheduler  no nodes available to schedule pods
  Warning  FailedScheduling  29m (x57 over 84m)  default-scheduler  no nodes available to schedule pods

In der Befehlsausgabe sehen Sie, dass der Pod nicht auf einem Knoten bereitgestellt werden kann, da keine Knoten verfügbar sind.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.