Automatisches Reparieren von AKS-Knoten (Azure Kubernetes Service)

Gilt für: ✔️ AKS Automatic ✔️ AKS Standard

Azure Kubernetes Service (AKS) überwacht den Integritätszustand von Workerknoten kontinuierlich und führt im Falle eines fehlerhaften Zustands automatisch eine Knotenreparatur durch. Von der Azure-VM-Plattform werden Wartungsmaßnahmen für virtuelle Computer durchgeführt, auf denen Probleme auftreten. AKS und virtuelle Azure-Computer arbeiten zusammen, um Dienstunterbrechungen für Cluster zu minimieren.

Für die meisten Produktionsworkloads ist AKS Automatic die empfohlene produktionsbereite Standardumgebung für AKS. Sowohl AKS Automatic als auch AKS Standard Cluster sind mit der automatischen Reparatur von Knoten vorkonfiguriert.

In diesem Artikel erfahren Sie, wie die automatische Reparatur von Knoten funktioniert, wann Reparaturaktionen auslösen, welche Einschränkungen gelten und wie Reparaturereignisse überwacht werden.

Automatisches Reparaturverhalten von Knoten je nach Clustermodus

Beide AKS-Clustermodi sind mit der automatischen Reparatur von Knoten vorkonfiguriert:

  • AKS Automatic: Vorkonfiguriert als Teil der Standardeinstellungen für die automatische Produktion von AKS.
  • AKS Standard: Vorkonfiguriert auf AKS Standard-Clustern ohne zusätzliche Einrichtung.

Beide Modi verwenden die gleichen Knotenintegritätsprüfungen und die gleiche Reparatursequenz, die in diesem Artikel beschrieben wird.

Weitere Informationen zu den Standardeinstellungen für die automatische AKS-Plattform finden Sie unter "Was ist Azure Kubernetes Service (AKS) Automatisch?

Wie AKS NotReady-Knoten überprüft

Von AKS wird anhand der folgenden Regeln ermittelt, ob ein Knoten fehlerhaft ist und repariert werden muss:

  • Der Knoten meldet bei aufeinanderfolgenden Überprüfungen innerhalb eines Zeitraums von 10 Minuten den Status NotReady.
  • Der Knoten meldet innerhalb von zehn Minuten keinen Status.

Sie können den Integritätszustand Ihrer Knoten mit dem Befehl kubectl get nodes manuell überprüfen.

Funktionsweise der automatischen Reparatur

Hinweis

AKS initiiert Reparaturvorgänge mit dem Benutzerkonto aks-remediator.

Wenn AKS einen fehlerhaften Knoten identifiziert, der mindestens fünf Minuten lang ungesund bleibt, führt AKS die folgenden Aktionen aus:

  1. AKS startet den Knoten neu.
  2. Wenn der Knoten nach dem Neustart weiterhin fehlerhaft ist, erstellt AKS ein neues Image des Knotens.
  3. Wenn der Knoten nach dem Erneuten Abbilden nicht einwandfrei bleibt und es sich um einen Linux-Knoten handelt, stellt AKS den Knoten erneut bereit.

AKS wiederholt die Neustart-, Reimage- und Neubereitstellungssequenz bis zu dreimal, wenn der Knoten weiterhin fehlerhaft ist. Der gesamte Prozess der automatischen Reparatur kann bis zu einer Stunde dauern.

Produktionsüberlegungen

Die automatische Reparatur von Knoten ist ein zentraler Resilienzmechanismus, kombiniert sie jedoch mit Ausfallsicherheitspraktiken auf Arbeitsauslastungsebene:

  • Führen Sie kritische Workloads mit mehreren Replikaten aus.
  • Verwenden Sie PodDisruptionBudgets und Readiness-Probes, um die für Benutzer sichtbaren Auswirkungen zu verringern.
  • Überwachen Sie Reparaturaktivitäten und Fehlerereignisse, um wiederholte Knotenprobleme zu erkennen.
  • Integrieren Sie die Zeitdauer für die automatische Reparatur in die SLO/SLA- und Vorfallreaktionsplanung.

Einschränkungen

Die automatische Knotenreparatur von AKS ist ein Best-Effort-Service. AKS garantiert nicht, dass ein Knoten in jedem Szenario wieder in einen fehlerfreien Zustand versetzt wird. Wenn ein Knoten ungesund bleibt, führen Sie eine manuelle Untersuchung durch. Weitere Informationen finden Sie unter Problembehandlung beim Status „NotReady“ eines Knotens.

AKS führt in den folgenden Szenarien möglicherweise keine automatische Reparatur durch:

  • Ein Netzwerkkonfigurationsfehler verhindert die Meldung eines Knotenstatus.
  • Ein Knoten wird nicht als funktionsfähiger Knoten registriert.
  • Ein Knoten weist eine der folgenden Taints auf:
    • node.cloudprovider.kubernetes.io/shutdown
    • ToBeDeletedByClusterAutoscaler
  • Ein Knoten wird aktualisiert und weist die folgenden Anmerkungen auf:
    • "cluster-autoscaler.kubernetes.io/scale-down-disabled": "true"
    • "kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"

Überwachen der automatischen Knotenreparatur mithilfe von Kubernetes-Ereignissen

Wenn AKS die automatische Reparatur von Knoten durchführt, gibt sie Kubernetes-Ereignisse aus der aks-auto-repair Quelle aus. Die folgenden Ereignisse werden in einem Knotenobjekt angezeigt, wenn die automatische Reparatur erfolgt.

Weitere Informationen zum Zugriff, Speichern und Warnen von Kubernetes-Ereignissen finden Sie unter Verwenden von Kubernetes-Ereignissen zur Problembehandlung in AKS.

Ursache Ereignisnachricht Beschreibung
NodeRebootStart Die automatische Reparatur des Knotens initiiert eine Neustartaktion, da der Status "NotReady" länger als fünf Minuten beibehalten wird. Dieses Ereignis benachrichtigt Sie, wenn der Neustart für Ihren Knoten ausgeführt werden soll. Diese Aktion ist die erste in der gesamten Sequenz für die automatische Knotenreparatur.
NodeRebootEnd Der Neustartvorgang durch die automatische Knotenreparatur wurde abgeschlossen. Wird ausgegeben, sobald der Neustart auf dem Knoten abgeschlossen ist. Dieses Ereignis gibt nicht den Integritätsstatus (fehlerfrei oder fehlerhaft) des Knotens an, nachdem der Neustart ausgeführt wurde.
NodeReimageStart Die automatische Reparatur des Knotens initiiert eine Reimage-Aktion, da der Status "NotReady" länger als fünf Minuten beibehalten wird. Dieses Ereignis benachrichtigt Sie, wenn auf Ihrem Knoten in Kürze ein Reimage durchgeführt wird.
NodeReimageEnd Der Neuabbildvorgang durch die automatische Knotenreparatur ist abgeschlossen. Wird ausgegeben, sobald die Neuabbildung des Knotens abgeschlossen ist. Dieses Ereignis gibt nicht den Integritätsstatus (fehlerfrei oder fehlerhaft) des Knotens an, nachdem das Reimaging ausgeführt wurde.
NodeRedeployStart Die automatische Reparatur des Knotens initiiert eine erneute Bereitstellungsaktion, da der Status "NotReady" mehr als fünf Minuten beibehalten wird. Dieses Ereignis benachrichtigt Sie, kurz bevor auf Ihrem Knoten eine erneute Bereitstellung durchgeführt wird. Die erneute Bereitstellung ist der letzte Schritt in der Sequenz zur automatischen Reparatur von Knoten.
NodeRedeployEnd Die Aktion zur erneuten Bereitstellung der automatischen Knotenreparatur ist abgeschlossen. Wird nach Abschluss der erneuten Bereitstellung auf dem Knoten ausgegeben. Dieses Ereignis gibt den Integritätszustand (fehlerfrei oder fehlerhaft) des Knotens nach der erneuten Bereitstellung nicht an.

Wenn während der Knotenautoreparatur Fehler auftreten, gibt AKS die folgenden Ereignisse mit der wortgetreuen Fehlermeldung aus. Weitere Informationen finden Sie unter Problembehandlung allgemeiner Fehler bei der automatischen Reparatur von Knoten.

Hinweis

Der Fehlercode in den folgenden Ereignismeldungen variiert je nach gemeldeter Fehlermeldung.

Ursache Ereignisnachricht Beschreibung
NodeRebootError Die automatische Neustartaktion zur Knotenreparatur ist aufgrund eines Betriebsfehlers fehlgeschlagen. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der Neustartaktion ein Fehler auftritt.
NodeReimageError Die automatische Reparatur des Knotens ist aufgrund eines Betriebsfehlers fehlgeschlagen. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der Reimaging-Aktion ein Fehler auftritt.
NodeRedeployError Die automatische Reparatur und erneute Bereitstellung des Knotens ist aufgrund eines Betriebsfehlers fehlgeschlagen. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der erneuten Bereitstellungsaktion ein Fehler auftritt.