Sicherstellen, dass zustandsorientierte Arbeitslasten auf Störungen vorbereitet sind


In GKE-Clustern (Google Kubernetes Engine) ausgeführte Anwendungen müssen auf Störungen wie Knotenupgrades und andere Wartungsereignisse vorbereitet sein. Zustandsorientierte Anwendungen, die häufig Zeit benötigen, um E/A ordnungsgemäß zu beenden und die Speicherverbindung zu trennen, sind besonders anfällig für Störungen. Sie können Kubernetes-Features wie Budgets für Pod-Störungen (Pod Disruption Budgets, PDBs) und Bereitschaftsprüfungen verwenden, um die Verfügbarkeit von Anwendungen während Upgrades sicherzustellen.

GKE überwacht Ihre Cluster und verwendet den Recommender-Dienst, um eine Anleitung zum Optimieren Ihrer Nutzung der Plattform bereitzustellen. GKE erkennt Möglichkeiten zur Vorbereitung von Arbeitslasten auf Störungen und bietet eine Anleitung zum Aktualisieren Ihrer PDBs oder Bereitschaftsprüfungen, um die Ausfallsicherheit Ihrer Arbeitslasten bei Störungen zu maximieren. Wenn ein StatefulSet beispielsweise nicht durch ein PDB geschützt ist, entfernt Ihr Cluster während eines Knotenupgrades möglicherweise alle Pods gleichzeitig. Damit dies vermieden wird, bietet GKE eine Anleitung zum Erstellen eines PDB, damit die meisten Pods während eines Upgrades weiterhin ausgeführt werden können.

Weitere Informationen zu den spezifischen Bedingungen, unter denen GKE störungsbezogene Hinweise bietet, finden Sie unter Wenn GKE für Störungen anfällige Arbeitslasten erkennt.

Weitere Informationen zum Verwalten von Statistiken und Empfehlungen von Recommendern finden Sie unter Nutzung von GKE mit Statistiken und Empfehlungen optimieren.

Für Störungen anfällige Arbeitslasten identifizieren

GKE generiert Statistiken zur Erkennung von für Störungen anfällige Arbeitslasten in Ihrem Cluster. Folgen Sie der Anleitung zum Aufrufen von Statistiken und Empfehlungen über die Google Cloud CLI oder die Recommender API, um diese Statistiken zu erhalten. Verwenden Sie die im folgenden Abschnitt aufgeführten Untertypen, um nach bestimmten Statistiken zu filtern. Diese Statistiken sind in der Google Cloud Console nicht verfügbar.

Wenn GKE für Störungen anfällige Arbeitslasten erkennt

In der folgenden Tabelle sehen Sie Szenarien, in denen GKE eine Statistik und eine Empfehlung bereitstellt, sowie den entsprechenden Untertyp:

Statistikuntertyp Beschreibung Aktion
PDB_UNPROTECTED_STATEFULSET Benachrichtigungen, wenn ein StatefulSet vorhanden ist, bei dem keine vorhandenen PDB-Labels mit den Pod-Selektorlabels des StatefulSets übereinstimmen. Das bedeutet, dass alle Pods im StatefulSet während eines Ereignisses, z. B. eines Knotenupgrades, heruntergefahren werden können. Fügen Sie ein PDB hinzu, dessen Labels mit denen im Pod-Selektorfeld des StatefulSets übereinstimmen. Geben Sie in diesem PDB an, wie viel einer Störung vom StatefulSet toleriert werden kann. Die mit dieser Statistik verknüpfte Empfehlung lässt erkennen, welche Labels ein PDB festlegen sollte, um das erwähnte StatefulSet abzudecken.
PDB_UNPERMISSIVE Benachrichtigungen, wenn ein PDB, das mit einem Pod übereinstimmt, für Wartungsaktivitäten wie ein Knotenupgrade nicht eingehalten werden kann. Ein PDB muss mindestens eine Pod-Störung zulassen. Daher verstößt GKE gegen dieses PDB für die erforderliche Wartung nach einer Stunde. Stellen Sie entweder die Einstellung minAvailable des PDB kleiner als die Gesamtzahl der Pods oder die Einstellung maxUnavailable größer als null ein.
PDB_STATEFULSET_WITHOUT_PROBES Benachrichtigungen, wenn ein StatefulSet mit einem PDB, aber ohne Bereitschaftsprüfungen konfiguriert ist. Das PDB ist daher bei der Beurteilung der Anwendungsbereitschaft nicht so effektiv. PDBs berücksichtigen Bereitschaftsprüfungen, wenn sie prüfen, welche Pods als fehlerfrei gezählt werden können. Wenn also ein von einem PDB abgedeckter Pod keine Bereitschaftsprüfung konfiguriert hat, hat das PDB eine begrenzte Sichtbarkeit darüber, ob der Pod fehlerfrei ist oder gerade ausgeführt wird. Fügen Sie Pods in StatefulSets Bereitschaftsprüfungen für das in der Statistik erwähnte PDB hinzu. Außerdem empfehlen wir, Aktivitätsprüfungen hinzuzufügen.

Anleitung zur Verbesserung der Störungsbereitschaft implementieren

Wenn Sie Statistiken und Empfehlungen für Arbeitslasten in Ihrem Cluster erhalten haben und deren Störungsbereitschaft verbessern möchten, implementieren Sie die in der Empfehlung beschriebene Anleitung und die Aktion für diesen Statistikuntertyp, wie im vorherigen Abschnitt gezeigt.

Empfehlungen werden einmal pro Tag bewertet. Es kann bis zu 24 Stunden dauern, bis sie nach der Implementierung von Änderungen erledigt werden. Wenn seit der Implementierung der Anleitung der Empfehlung weniger als 24 Stunden vergangen sind, können Sie die Empfehlung als erledigt markieren. Wenn Sie die Empfehlung nicht implementieren möchten, können Sie sie verwerfen.

Nächste Schritte

  • Weitere Informationen zur Gewährleistung der Zuverlässigkeit und Verfügbarkeit für Ihren GKE-Cluster finden Sie unter Best Practices für GKE: Tag 2: Vorgänge.
  • Weitere Informationen zu möglichen Störungen von Pods in Kubernetes finden Sie unter Störungen.