Automatisches Reparieren von Knoten in EKS-Clustern - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisches Reparieren von Knoten in EKS-Clustern

In diesem Thema wird das Verhalten der automatischen EKS-Knotenreparatur und die Konfiguration gemäß Ihren Anforderungen beschrieben. Die automatische EKS-Knotenreparatur ist im automatischen EKS-Modus standardmäßig aktiviert und kann mit von EKS verwalteten Knotengruppen und Karpenter verwendet werden.

Die standardmäßigen automatischen EKS-Knotenreparaturaktionen sind in der folgenden Tabelle zusammengefasst und gelten für das Verhalten im automatischen EKS-Modus, bei EKS-verwalteten Knotengruppen und bei Karpenter. Bei Verwendung von EKS Auto Mode oder Karpenter werden alle AcceleratedHardwareReady Reparaturaktionen Reboot als Reparaturaktion unterstütztReplace, und nur von EKS verwaltete Knotengruppen werden unterstützt.

Eine ausführliche Liste der vom EKS-Knotenüberwachungsagenten erkannten Knotenzustandsprobleme und der entsprechenden Reparaturaktionen für Knoten finden Sie unter. Erkennen Sie Probleme mit dem Knotenüberwachungsagenten von EKS

Zustand des Knotens Description Danach reparieren Aktion (en) reparieren

AcceleratedHardwareReady

AcceleratedHardwareReady gibt an, ob die beschleunigte Hardware (GPU, Neuron) auf dem Knoten ordnungsgemäß funktioniert.

10m

Ersetzen oder neu starten

ContainerRuntimeReady

ContainerRuntimeReady gibt an, ob die Container-Laufzeit (containerd usw.) korrekt funktioniert und Container ausführen kann.

30m

Ersetzen

DiskPressure

DiskPressure ist eine Standardbedingung für Kubernetes, die darauf hinweist, dass der Knoten unter Druck steht (geringer Festplattenspeicher oder hoher I/O).

Keine

KernelReady

KernelReady gibt an, ob der Kernel ohne kritische Fehler, Panik oder Ressourcenerschöpfung ordnungsgemäß funktioniert.

30m

Ersetzen

MemoryPressure

MemoryPressure ist eine Standardbedingung für Kubernetes, die darauf hinweist, dass der Knoten unter Speicherdruck steht (zu wenig verfügbarer Speicher).

Keine

NetworkingReady

NetworkingReady gibt an, ob der Netzwerkstapel des Knotens ordnungsgemäß funktioniert (Schnittstellen, Routing, Konnektivität).

30m

Ersetzen

StorageReady

StorageReady gibt an, ob das Speichersubsystem des Knotens ordnungsgemäß funktioniert (Festplatten, Dateisysteme, I/O).

30m

Ersetzen

Bereit

Bereit ist die Standardbedingung für Kubernetes, die angibt, dass der Knoten fehlerfrei und bereit ist, Pods anzunehmen.

30m

Ersetzen

Die automatischen EKS-Node-Reparaturaktionen sind in den folgenden Szenarien standardmäßig deaktiviert. In Bearbeitung befindliche Knotenreparaturaktionen werden in jedem Szenario fortgesetzt. Informationen Konfigurieren Sie die automatische Knotenreparatur zum Überschreiben dieser Standardeinstellungen finden Sie unter.

Von EKS verwaltete Knotengruppen

  • Die Knotengruppe hat mehr als fünf Knoten und mehr als 20% der Knoten in der Knotengruppe sind fehlerhaft.

  • Eine Zonenverschiebung für Ihren Cluster wird durch den Application Recovery Controller (ARC) ausgelöst.

EKS-Automatikmodus und Karpenter

  • Mehr als 20% der Knoten in der NodePool sind fehlerhaft.

  • Im eigenständigen NodeClaims Modus sind 20% der Knoten im Cluster fehlerhaft.

Konfigurieren Sie die automatische Knotenreparatur

Die automatische Knotenreparatur kann nicht konfiguriert werden, wenn der EKS-Automatikmodus verwendet wird, und sie ist immer mit den gleichen Standardeinstellungen wie Karpenter aktiviert.

Karpenter

Um die automatische Knotenreparatur mit Karpenter zu verwenden, aktivieren Sie das Feature Gate. NodeRepair=true Sie können die Feature-Gates über die --feature-gates CLI-Option oder die FEATURE_GATES Umgebungsvariable in der Karpenter-Bereitstellung aktivieren. Weitere Informationen finden Sie in der Karpenter-Dokumentation.

Verwaltete Knotengruppen

Sie können die automatische Knotenreparatur aktivieren, wenn Sie neue von EKS verwaltete Knotengruppen erstellen oder indem Sie bestehende von EKS verwaltete Knotengruppen aktualisieren.

Wenn Sie von EKS verwaltete Knotengruppen verwenden, können Sie das Verhalten bei der auto Reparatur von Knoten mit den folgenden Einstellungen steuern.

Um zu steuern, wann die auto Knotenreparatur nicht mehr aktiv wird, legen Sie einen Schwellenwert fest, der auf der Anzahl der fehlerhaften Knoten in der Knotengruppe basiert. Legen Sie entweder die absolute Anzahl oder den Prozentsatz fest, aber nicht beide.

Einstellung Description

maxUnhealthyNodeThresholdCount

Die absolute Anzahl fehlerhafter Knoten, bei deren Überschreitung die auto Knotenreparatur beendet wird. Verwenden Sie diese Option, um den Umfang der Reparaturen einzuschränken.

maxUnhealthyNodeThresholdPercentage

Der Prozentsatz fehlerhafter Knoten, bei dessen Überschreitung die auto Knotenreparatur beendet wird (0-100).

Um zu kontrollieren, wie viele Knoten gleichzeitig repariert werden, können Sie die Reparaturparallelität konfigurieren. Legen Sie wie beim Schwellenwert für fehlerhafte Knoten entweder die absolute Anzahl oder den Prozentsatz fest, aber nicht beides.

Einstellung Description

maxParallelNodesRepairedCount

Die maximale Anzahl von Knoten, die gleichzeitig repariert werden sollen.

maxParallelNodesRepairedPercentage

Der maximale Prozentsatz fehlerhafter Knoten, die gleichzeitig repariert werden müssen (0-100).

Mit nodeRepairConfigOverrides können Sie das Reparaturverhalten an bestimmte Bedingungen anpassen. Verwenden Sie diese Option, wenn Sie unterschiedliche Reparaturaktionen oder Wartezeiten für verschiedene Problemtypen benötigen.

Für jede Überschreibung sind alle der folgenden Felder erforderlich:

Feld Description

nodeMonitoringCondition

Der vom Node-Monitoring-Agent gemeldete Knotenbedingungstyp. Zum Beispiel:AcceleratedHardwareReady,NetworkingReady,StorageReady,KernelReady.

nodeUnhealthyReason

Der spezifische Ursachencode für den ungesunden Zustand. Zum Beispiel: NvidiaXID31Error, IPAMDNotRunning.

minRepairWaitTimeMins

Die Mindestdauer in Minuten, für die der Zustand bestehen muss, bevor der Knoten repariert werden kann. Verwenden Sie diese Option, um zu vermeiden, dass Knoten aufgrund vorübergehender Probleme repariert werden.

repairAction

Die Aktion, die ergriffen werden muss, wenn die Bedingungen erfüllt sind. Gültige Werte: Replace (Knoten beenden und ersetzen), Reboot (Knoten neu starten) oder NoAction (keine Reparaturaktionen).

Das folgende AWS CLI-Beispiel erstellt eine Knotengruppe mit benutzerdefinierten Reparatureinstellungen.

aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --node-role arn:aws:iam::111122223333:role/NodeRole \ --subnets subnet-0123456789abcdef0 \ --node-repair-config '{ "enabled": true, "maxUnhealthyNodeThresholdPercentage": 10, "maxParallelNodesRepairedCount": 3, "nodeRepairConfigOverrides": [ { "nodeMonitoringCondition": "AcceleratedHardwareReady", "nodeUnhealthyReason": "NvidiaXID64Error", "minRepairWaitTimeMins": 5, "repairAction": "Replace" }, { "nodeMonitoringCondition": "AcceleratedHardwareReady", "nodeUnhealthyReason": "NvidiaXID31Error", "minRepairWaitTimeMins": 15, "repairAction": "NoAction" } ] }'

Diese Konfiguration macht Folgendes:

  • Aktiviert die auto Knotenreparatur

  • Stoppt Reparaturaktionen, wenn mehr als 10% der Knoten fehlerhaft sind

  • Repariert bis zu 3 Knoten gleichzeitig

  • Überschreibt XID 64-Fehler (Fehler bei der Neuzuweisung des GPU-Speichers), um den Knoten nach 5 Minuten zu ersetzen. Die Standardeinstellung ist ein Neustart nach 10 Minuten.

  • Überschreibt XID 31-Fehler (GPU-Speicherseitenfehler), sodass keine Maßnahmen ergriffen werden. Die Standardeinstellung ist ein Neustart nach 10 Minuten.