Surge-Updates von Knotenpools konfigurieren

In diesem Dokument wird beschrieben, wie Sie Surge-Updates von Knotenpools aktivieren und verwalten. Informationen zur Funktionsweise von Surge-Updates von Knotenpools finden Sie unter Surge-Updates.

Wichtige Hinweise vor der Durchführung von Surge-Updates

Beachten Sie vor dem Ausführen eines Surge-Updates Folgendes:

  • Zusätzliche Instanzen, die im Rahmen dieses Schritts erstellt werden, können Ihr AWS-Instanzkontingent überschreiten. Wenn Sie nicht genügend Kontingente haben und diese zusätzlichen Instanzen nicht bereitgestellt werden können, schlägt das Update möglicherweise fehl.
  • Wenn max-unavailable-update auf 0 gesetzt ist, können weiterhin Störungen bei Arbeitslasten auftreten, da Pods entfernt und auf den neueren Knoten neu geplant werden.
  • Die maximale Anzahl von Knoten, die gleichzeitig aktualisiert werden können, entspricht der Summe von max-surge-update und max-unavailable-update und ist auf 20 begrenzt.

Surge-Updates aktivieren und konfigurieren

Wenn Sie die Funktion für Stoßzeiten-Updates aktivieren möchten, wenden Sie sich an den Support.Google Cloud Nachdem das Supportteam die Funktion aktiviert hat, können Sie beim Erstellen oder Aktualisieren Ihres Knotenpools Werte für die Parameter max-surge-update und max-unavailable-update zuweisen:

Erstellen

gcloud container aws node-pools create NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

Aktualisieren

gcloud container aws node-pools update NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

Ersetzen Sie Folgendes:

  • NODE_POOL_NAME: der Name des Knotenpools, der aktualisiert werden soll.
  • CLUSTER_NAME ist der Name des Clusters.
  • GOOGLE_CLOUD_LOCATION: die unterstützte Google Cloud Region, die Ihren Cluster verwaltet. Beispiel: us-west1
  • MAX_SURGE: die maximale Anzahl zusätzlicher Knoten, die während eines Updates vorübergehend über die aktuelle Größe des Knotenpools hinaus erstellt werden können. Durch Anpassen dieses Werts können Sie steuern, wie viele Knoten gleichzeitig aktualisiert werden. Die Standardeinstellung ist 1, Sie können sie aber auch auf 0 setzen. Wenn Sie max-surge-update auf einen Wert größer als 0 festlegen, erstellt GKE on AWS Surge-Knoten. Wenn Sie den Wert auf 0 festlegen, werden keine Surge-Knoten erstellt.
  • MAX_UNAVAILABLE: die maximale Anzahl von Knoten, die während des Aktualisierungsvorgangs gleichzeitig nicht verfügbar sein können. Durch Erhöhen dieses Werts können mehr Knoten gleichzeitig aktualisiert werden. Der Standardwert ist 0, kann aber nach oben angepasst werden.

Surge-Update-Einstellungen für einen Knotenpool prüfen

Führen Sie den folgenden Befehl aus, um die Surge-Update-Einstellungen eines Knotenpools aufzurufen:

gcloud alpha container aws node-pools describe NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \

Ersetzen Sie Folgendes:

  • NODE_POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters.
  • GOOGLE_CLOUD_LOCATION: die unterstützte Google Cloud Region, die Ihren Cluster verwaltet. Beispiel: us-west1

Wenn für den Knotenpool Surge-Updates aktiviert sind, enthält die Ausgabe dieses Befehls einen Abschnitt mit dem Label surge_settings. In diesem surge_settings-Abschnitt werden die Werte der Parameter max_surge und max_unavailable angezeigt.

Laufende Surge-Updates verwalten

Sie können ein laufendes Surge-Update abbrechen, ein Rollback eines fehlgeschlagenen Surge-Updates durchführen oder ein unterbrochenes Update fortsetzen.

Surge-Update abbrechen (pausieren) und fortsetzen

In GKE on AWS bedeutet das „Abbrechen“ eines Surge-Updates, dass es pausiert wird. Weitere Informationen zum Abbrechen eines Updates finden Sie unter Updatevorgang abbrechen.

Wenn Sie ein Surge-Update abbrechen, wird das Update nicht rückgängig gemacht. Stattdessen kann es sein, dass der Knotenpool in einem teilweise aktualisierten Zustand mit zwei Autoscaling-Gruppen verbleibt: eine mit Knoten, auf denen die vorherige Konfiguration ausgeführt wird, und eine mit Knoten, auf denen die neue Konfiguration ausgeführt wird. Um dieses Problem zu beheben, setzen Sie das Surge-Update fort, indem Sie den Update-Befehl noch einmal ausführen und dabei dieselben Zielparameter wie beim unterbrochenen Vorgang verwenden. Das Starten eines Updates mit anderen Knotenpoolparametern ist erst möglich, wenn das vorherige Update abgeschlossen ist.

Rollback für fehlgeschlagenes Surge-Update durchführen

Sie können einen Knotenpool auf seinen ursprünglichen Zustand zurücksetzen, wenn ein Surge-Update abgebrochen wurde oder fehlgeschlagen ist.

Wichtige Hinweise vor dem Zurücksetzen eines Surge-Updates

  • Sie können nur einen Knotenpool mit Surge-Funktion zurücksetzen, der teilweise aktualisiert wurde (Status DEGRADED).
  • Sobald ein Rollback für einen Knotenpool gestartet wurde, kann er nicht mehr abgebrochen werden.
  • Sie können keine weiteren Aktualisierungsvorgänge durchführen, bis der Rollback-Vorgang abgeschlossen ist.
  • Sie können ein Rollback nur wiederholen, wenn es fehlschlägt.
  • Sie können für Knotenpools kein Rollback mehr durchführen, nachdem sie erfolgreich aktualisiert wurden.

Rollback für fehlgeschlagenes Surge-Update durchführen

Führen Sie den folgenden Befehl aus, um einen fehlgeschlagenen Aktualisierungsvorgang für den Knotenpool rückgängig zu machen:

gcloud container aws node-pools rollback NODE_POOL_NAME
    --cluster CLUSTER_NAME

Ersetzen Sie Folgendes:

  • NODE_POOL_NAME: der Name des Knotenpools, der aktualisiert werden soll.
  • CLUSTER_NAME ist der Name des Clusters.

So funktioniert das Rollback

Wenn Sie ein Rollback intern initiieren, wird ein neuer Aktualisierungsvorgang für den Knotenpool gestartet. „Intern“ bedeutet hier, dass dieser Prozess im System selbst ausgeführt wird und keine Intervention Ihrerseits erforderlich ist. Bei diesem Vorgang werden die Knoten des Knotenpools auf Best-Effort-Basis auf ihren ursprünglichen Zustand zurückgesetzt.

Die Knoten der alten Autoscaling-Gruppe werden nicht mehr als „cordoned“ gekennzeichnet und das Cluster-Autoscaling dieser Gruppe wird aktiviert, damit Arbeitslasten auf den Knoten geplant werden können. Teilweise aktualisierte Knotenpoolknoten in der neuen Autoscaling-Gruppe werden gemäß den Surge-Einstellungen, die Sie bei Ihrem ersten Surge-Aktualisierungsversuch definiert haben, gesperrt, geleert und beendet.

Fehlgeschlagene Surge-Updates verwalten

Sie haben drei Möglichkeiten, um auf ein fehlgeschlagenes Update zu reagieren:

  1. Update fortsetzen: Sie können das fehlgeschlagene Update mit denselben Einstellungen für den Zielknotenpool wie beim ersten erfolglosen Versuch fortsetzen.
  2. Rollback: Mit dem Rollback-Befehl können Sie den ursprünglichen Zustand des Knotenpools wiederherstellen.
  3. Ändern und neu starten: Wenn Sie die Parameter für das Surge-Upgrade ändern möchten, muss der vorhandene Knotenpool gelöscht und dann mit den neuen Einstellungen neu erstellt werden. Eine Anleitung zum Löschen eines Knotenpools finden Sie unter Knotenpool löschen.