Freigeben über


Automatisches Reparieren von AKS-Knoten (Azure Kubernetes Service)

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.

Dieser Artikel umfasst Informationen zum Verhalten der automatischen Knotenreparatur für Windows- und Linux-Knoten.

Überprüfung auf NotReady-Knoten durch AKS

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 von AKS ein fehlerhafter Knoten identifiziert wird und dieser Knoten mindestens fünf Minuten lang fehlerhaft ist, werden folgende Aktionen ausgeführt:

  1. AKS startet den Knoten neu.
  2. Wenn der Knoten nach dem Neustart fehlerhaft bleibt, führt AKS ein Reimaging für den Knoten aus.
  3. Wenn der Knoten nach dem Reimaging fehlerhaft bleibt und es sich um einen Linux-Knoten handelt, stellt AKS den Knoten erneut bereit.

AKS wiederholt den Neustart, das Reimaging und die Sequenz der erneuten Bereitstellung bis zu drei Mal, wenn der Knoten fehlerhaft bleibt. Der gesamte Prozess der automatischen Reparatur kann bis zu einer Stunde dauern.

Einschränkungen

Die automatische AKS-Knotenreparatur ist ein Dienst nach dem Prinzip „beste Leistung“. Wir garantieren nicht, dass der Knoten wieder in den fehlerfreien Status zurückgesetzt wird. Wenn Ihr Knoten in einem fehlerhaften Zustand bleibt, empfehlen wir dringend eine manuelle Untersuchung des Knotens. Informieren Sie sich ausführlicher über die Problembehandlung für den Knotenstatus „NotReady“.

In manchen Fällen führt AKS keine automatische Reparatur durch. Wird der Knoten nicht automatisch repariert, kann dies entwurfsbedingt sein oder daran liegen, dass Azure das Problem nicht erkennt. Beispiele für Fälle, in denen keine automatische Reparatur durchgeführt wird:

  • Ein Knotenstatus wird aufgrund eines Fehlers in der Netzwerkkonfiguration nicht gemeldet.
  • Ein Knoten konnte zunächst nicht als fehlerfreier Knoten registriert werden.
  • Die folgenden Taints sind auf dem Knoten vorhanden: node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.

Überwachen der automatischen Knotenreparatur mithilfe von Kubernetes-Ereignissen

Wenn AKS eine automatische Knotenreparatur für Ihren Cluster durchführt, gibt AKS zur Gewährleistung der Sichtbarkeit Kubernetes-Ereignisse aus der Quelle „aks-auto-repair“ aus. Wird eine automatische Reparatur durchgeführt, werden die folgenden Ereignisse in einem Knotenobjekt angezeigt.

Weitere Informationen zum Abrufen, Speichern und Konfigurieren von Benachrichtigungen zu Kubernetes-Ereignissen finden Sie unter Verwenden von Kubernetes-Ereignissen zur Problembehandlung in Azure Kubernetes Service.

Ursache Ereignismeldung Beschreibung
NodeRebootStart Die automatische Knotenreparatur initiiert eine Neustartaktion, da der Status „NotReady“ länger als 5 Minuten anhält. Dieses Ereignis wird ausgegeben, um Sie zu benachrichtigen, wenn der Neustart auf Ihrem Knoten ausgeführt werden soll. Diese Aktion ist die erste in der gesamten Sequenz für die automatische Knotenreparatur.
NodeRebootEnd Die Neustartaktion über die automatische Knotenreparatur wurde abgeschlossen. Wird nach Abschluss des Neustarts auf dem Knoten ausgegeben. Dieses Ereignis gibt nicht den Integritätsstatus (fehlerfrei oder fehlerhaft) des Knotens an, nachdem der Neustart ausgeführt wurde.
NodeReimageStart Die automatische Knotenreparatur initiiert eine Reimaging-Aktion, da der Status „NotReady“ länger als 5 Minuten anhält. Dieses Ereignis wird ausgegeben, um Sie zu benachrichtigen, wenn das Reimaging auf Ihrem Knoten ausgeführt werden soll.
NodeReimageEnd Die Reimaging-Aktion über die automatische Knotenreparatur wurde abgeschlossen. Wird nach Abschluss des Reimaging auf dem Knoten ausgegeben. Dieses Ereignis gibt nicht den Integritätsstatus (fehlerfrei oder fehlerhaft) des Knotens an, nachdem das Reimaging ausgeführt wurde.
NodeRedeployStart Die automatische Knotenreparatur initiiert eine erneute Bereitstellungsaktion, da der Status „NotReady“ länger als 5 Minuten anhält. Dieses Ereignis wird ausgegeben, um Sie zu benachrichtigen, wenn die erneute Bereitstellung auf Ihrem Knoten ausgeführt werden soll. Die erneute Bereitstellung ist die letzte Aktion in der Sequenz für die automatische Knotenreparatur.
NodeRedeployEnd Die erneute Bereitstellungsaktion über die automatische Knotenreparatur wurde abgeschlossen. Wird nach Abschluss der erneuten Bereitstellung auf dem Knoten ausgegeben. Dieses Ereignis gibt nicht den Integritätsstatus (fehlerfrei oder fehlerhaft) des Knotens an, nachdem die erneute Bereitstellung abgeschlossen wurde.

Wenn während der automatischen Knotenreparatur Fehler auftreten, werden die folgenden Ereignisse mit der entsprechenden Fehlermeldung ausgegeben. Informieren Sie sich ausführlicher über die Problembehandlung bei allgemeinen Fehlern während der automatischen Knotenreparatur.

Hinweis

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

Ursache Ereignismeldung Beschreibung
NodeRebootError Fehler bei Neustartaktion des Knotens im Rahmen der automatischen Reparatur aufgrund eines Vorgangsfehlers. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der Neustartaktion ein Fehler auftritt.
NodeReimageError Fehler bei Reimaging-Aktion des Knotens im Rahmen der automatischen Reparatur aufgrund eines Vorgangsfehlers. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der Reimaging-Aktion ein Fehler auftritt.
NodeRedeployError Fehler bei erneuter Bereitstellungsaktion des Knotens im Rahmen der automatischen Reparatur aufgrund eines Vorgangsfehlers. Fehlerdetails finden Sie unter Fehlercode. Wird ausgegeben, wenn bei der erneuten Bereitstellungsaktion ein Fehler auftritt.

Nächste Schritte

Standardmäßig können Sie in Ihrem AKS-Cluster auf Kubernetes-Ereignisse und -Protokolle aus der letzten Stunde zugreifen. Um Ereignisse und Protokolle aus den letzten 90 Tagen zu speichern und abzufragen, aktivieren Sie Container Insights, um eine eingehendere Problembehandlung in Ihrem AKS-Cluster zu ermöglichen.