Problembehandlung bei Fehlern bei Knoten nicht bereit, die von Wiederherstellungen gefolgt werden
Dieser Artikel enthält einen Leitfaden zur Problembehandlung und Behebung von Problemen mit Node Not Ready" in Azure Kubernetes Service (AKS)-Clustern. Wenn ein Knoten in den Status "NotReady" wechselt, kann er die Funktionalität der Anwendung stören und dazu führen, dass er nicht mehr reagiert. In der Regel wird der Knoten nach einem kurzen Zeitraum automatisch wiederhergestellt. Um wiederkehrende Probleme zu verhindern und eine stabile Umgebung aufrechtzuerhalten, ist es wichtig, die zugrunde liegenden Ursachen zu verstehen, um effektive Lösungen zu implementieren.
Ursache
Es gibt mehrere Szenarien, die dazu führen können, dass ein "NotReady"-Zustand auftritt:
Die Nichtverfügbarkeit des API-Servers. Dies führt dazu, dass die Bereitschaftssonde fehlschlägt. Dadurch wird verhindert, dass der Pod an den Dienst angefügt wird, sodass der Datenverkehr nicht mehr an die Pod-Instanz weitergeleitet wird.
Vm-Hostfehler. Um zu ermitteln, ob VM-Hostfehler aufgetreten sind, überprüfen Sie die folgenden Informationsquellen:
- AKS-Diagnose
- Azure-Status
- Azure-Benachrichtigungen (für aktuelle Ausfälle oder Wartungszeiträume)
Lösung
Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:
- Führen Sie die Ausführung aus
kubectl describe node <node-name>
, um Detailinformationen zum Status des Knotens zu überprüfen. Suchen Sie nach Fehlermeldungen oder Warnungen, die möglicherweise die Ursache des Problems angeben. - Überprüfen Sie die Verfügbarkeit des API-Servers, indem Sie den
kubectl get apiservices
Befehl ausführen. Stellen Sie sicher, dass die Bereitschaftssonde in der YaML-Bereitstellungsdatei ordnungsgemäß konfiguriert ist. - Überprüfen Sie die Netzwerkkonfiguration des Knotens, um sicherzustellen, dass keine Verbindungsprobleme auftreten.
- Überprüfen Sie die Ressourcenauslastung des Knotens, z. B. CPU, Arbeitsspeicher und Datenträger, um potenzielle Einschränkungen zu identifizieren. Weitere Informationen finden Sie unter Überwachen der Kubernetes-Clusterleistung mit Containereinblicken
Weitere Schritte finden Sie unter Grundlegende Problembehandlung bei Fehlern von Node Not Ready.
Vorbeugemaßnahmen
Um zu verhindern, dass dieses Problem in Zukunft auftritt, führen Sie eine oder mehrere der folgenden Aktionen aus:
- Stellen Sie sicher, dass Ihre Serviceebene vollständig bezahlt ist.
- Verringern Sie die Anzahl und
watch
get
Anforderungen an den API-Server.