Grundlegende Problembehandlung bei Node Not Ready-Fehlern
Dieser Artikel enthält Schritte zur Problembehandlung zum Wiederherstellen Microsoft Azure Kubernetes Service (AKS)-Clusterknoten nach einem Fehler. Dieser Artikel befasst sich speziell mit den am häufigsten auftretenden Fehlermeldungen, die generiert werden, wenn ein Node Not Ready-Fehler auftritt, und erläutert, wie die Knotenreparaturfunktion sowohl für Windows- als auch für Linux-Knoten ausgeführt werden kann.
Bevor Sie beginnen
Lesen Sie den offiziellen Leitfaden zur Problembehandlung bei Kubernetes-Clustern. Lesen Sie auch den Microsoft-Technikerleitfaden zur Kubernetes-Problembehandlung. Dieses Handbuch enthält Befehle zur Problembehandlung bei Pods, Knoten, Clustern und anderen Features.
Voraussetzungen
- Azure CLI, Version 2.31 oder höher. Wenn Azure CLI bereits installiert ist, können Sie die Versionsnummer finden, indem Sie ausführen
az --version.
Grundlegende Problembehandlung
AKS überwacht kontinuierlich den Integritätsstatus von Arbeitsknoten und repariert die Knoten automatisch, wenn sie fehlerhaft werden. Die Azure Virtual Machine (VM)-Plattform verwaltet virtuelle Computer , bei denen Probleme auftreten. AKS und Azure VMs arbeiten zusammen, um Dienstunterbrechungen für Cluster zu reduzieren.
Für Knoten gibt es zwei Arten von Takten:
Aktualisiert die STATUS-Datei eines
NodeObjekts.Leasen von Objekten innerhalb des kube-node-lease-Namespace . Jedem
NodeObjekt ist ein Objekt zugeordnetLease.
Im Vergleich zu Aktualisierungen der STATUS-Datei eines Nodeist a Lease eine einfache Ressource. Die Verwendung von Lease Objekten für Takte reduziert die Auswirkungen dieser Updates auf die Leistung für große Cluster.
Das Kubelet ist für das Erstellen und Aktualisieren der STATUS-Datei für Node Objekte verantwortlich. Es ist auch für die Aktualisierung der Objekte verantwortlich, die Lease mit den Node Objekten verknüpft sind.
Das Kubelet aktualisiert die Node STATUS-Datei , wenn eine der folgenden Bedingungen zutrifft:
Eine Statusänderung tritt auf.
Nach einem konfigurierten Zeitintervall erfolgt keine Aktualisierung.
Das Standardintervall für Statusaktualisierungen auf a Node beträgt fünf Minuten. Dieses Intervall ist viel länger als das Standardtimeout von 40 Sekunden für nicht erreichbare Knoten. Das Kubelet erstellt und aktualisiert dann sein Lease Objekt einmal alle zehn Sekunden (das Standardaktualisierungsintervall). Aktualisierungen, die Lease unabhängig von Aktualisierungen des Node Status erfolgen. Wenn das Lease Update fehlschlägt, wird das Kubelet erneut ausgeführt, wobei ein exponentieller Backoff verwendet wird, der bei 200 Millisekunden beginnt und auf maximal sieben Sekunden begrenzt ist.
Sie können ein Pod Node Objekt mit dem Status " NotReady oder Unknown" nicht planen. Sie können ein Pod Objekt nur für Knoten planen, die sich im Ready Status befinden.
Wenn sich Ihr MemoryPressureKnoten im Zustand , oder PIDPressure im Zustand befindetDiskPressure, müssen Sie Ihre Ressourcen verwalten, um zusätzliche Pods für den Knoten zu planen. Wenn sich Ihr Knoten im NetworkUnavailable Modus befindet, müssen Sie das Netzwerk auf dem Knoten ordnungsgemäß konfigurieren. Stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:
Ihr Cluster befindet sich im Status "Succeeded (Running) ". Um den Clusterstatus auf der Azure-Portal zu überprüfen, suchen Sie nach Kubernetes-Diensten, wählen Sie sie aus, und wählen Sie den Namen Ihres AKS-Clusters aus. Suchen Sie dann auf der Übersichtsseite des Clusters in Essentials nach dem Status. Oder geben Sie den az aks show-Befehl in Azure CLI ein.
Ihr Knotenpool weist den Bereitstellungsstatus " Erfolgreich " und den Energiestatus " Ausführen" auf. Um den Status des Knotenpools auf der Azure-Portal zu überprüfen, kehren Sie zur Seite Ihres AKS-Clusters zurück, und wählen Sie dann Knotenpools aus. Alternativ können Sie den Befehl "az aks nodepool show" in Azure CLI eingeben.
Die erforderlichen Ausgangsports sind in Ihren Netzwerksicherheitsgruppen (Network Security Groups, NSGs) und der Firewall geöffnet, sodass die IP-Adresse des API-Servers erreicht werden kann. Weitere Informationen finden Sie unter Erforderliche ausgehende Netzwerkregeln und FQDNs für AKS-Cluster.
Ihre Knoten haben die neuesten Knotenimages bereitgestellt.
Ihre Knoten befinden sich im
RunningStatus anstelle vonStoppedoderDeallocated.Auf Ihrem Cluster wird eine AKS-unterstützte Version von Kubernetes ausgeführt.
Haftungsausschluss für Kontaktinformationen von Drittanbietern
Microsoft stellt Kontaktinformationen von Drittanbietern bereit, damit Sie weitere Informationen zu diesem Thema finden können. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Microsoft garantiert nicht die Genauigkeit von Kontaktinformationen von Drittanbietern.