Strategien für Knotenupgrades konfigurieren

Als Plattformadministrator können Sie eine Strategie für Knotenupgrades konfigurieren, um zu optimieren, wie Google Kubernetes Engine (GKE) die Knoten in Ihren GKE-Clustern aktualisiert. Weitere Informationen zu Knotenupgrade-Strategien finden Sie unter Strategien für das Knotenupgrade.

Hinweise

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl gcloud components update ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.

Voraussetzungen

Upgradestrategie für Knoten konfigurieren

Beim Konfigurieren der Standard-Knotenpools Ihres Clusters können Sie eine der folgenden unterstützten Upgradestrategien für Knoten auswählen und konfigurieren:

Mit diesen Upgradestrategien können Sie den Upgradeprozess für Knotenpools gemäß den Anforderungen Ihrer Clusterumgebung optimieren. Von Autopilot verwaltete Knotenpools in Standardclustern verwenden Surge-Upgrades. Sie können keine andere Strategie auswählen oder die Konfiguration ändern.

Surge-Upgrades konfigurieren

Mit Surge-Upgrades können Sie die Anzahl der Knoten, die GKE in einem Schritt aktualisiert, sowie den Umfang der Unterbrechung, die ein Upgrade bei Ihren Arbeitslasten verursacht, ändern.

Die Flags max-surge-upgrade und max-unavailable-upgrade sind für jeden Knotenpool definiert. Weitere Informationen zur Auswahl der richtigen Parameter finden Sie unter Surge-Upgrade-Konfiguration optimieren.

Sie können diese Einstellungen ändern, wenn Sie einen Cluster oder Knotenpool erstellen oder aktualisieren.

Die folgenden Variablen werden in den unten aufgeführten Befehlen verwendet:

  • CLUSTER_NAME: Der Name des Clusters für den Knotenpool.
  • COMPUTE_ZONE: Die Zone für den Cluster.
  • NODE_POOL_NAME ist der Name des Knotenpools.
  • NUMBER_NODES: Die Anzahl der Knoten im Knotenpool in jeder der Clusterzonen.
  • SURGE_NODES: Die Anzahl der zusätzlichen Knoten (Surge), die bei jedem Upgrade des Knotenpools erstellt werden.
  • UNAVAILABLE_NODES: Die Anzahl der Knoten, die bei jedem Upgrade des Knotenpools gleichzeitig nicht verfügbar sein können.

Cluster mit unterschiedlichen Surge-Parametern erstellen

Verwenden Sie die Flags max-surge-upgrade und max-unavailable-upgrade, um einen Cluster mit spezifischen Einstellungen für Surge-Upgrades zu erstellen.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Cluster mit deaktiviertem Surge-Upgrade erstellen

Wenn Sie einen Cluster ohne Surge-Upgrades erstellen möchten, legen Sie den Wert für das Flag max-surge-upgrade auf 0 fest.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=0 --max-unavailable-upgrade=1

Knotenpool mit unterschiedlichen Surge-Parametern erstellen

Verwenden Sie die Flags max-surge-upgrade und max-unavailable-upgrade, um einen Knotenpool in einem vorhandenen Cluster mit spezifischen Einstellungen für Surge-Upgrades zu erstellen.

gcloud container node-pools create NODE_POOL_NAME \
    --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Surge-Upgrade-Einstellungen für einen vorhandenen Knotenpool ändern

Verwenden Sie die Flags max-surge-upgrade und max-unavailable-upgrade, um die Upgradeeinstellungen eines vorhandenen Knotenpools zu aktualisieren. Wenn Sie max-surge-upgrade auf einen größeren Wert als 0 festlegen, erstellt GKE Surge-Knoten. Wenn Sie max-surge-upgrade auf 0 festlegen, erstellt GKE keine Surge-Knoten.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Surge-Upgrades in einem Knotenpool auf Aktivierung prüfen

Wenn Sie prüfen möchten, ob Surge-Upgrades für einen Knotenpool aktiviert sind, verwenden Sie gcloud zum Beschreiben der Parameter des Clusters:

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Wenn Surge-Upgrades für den Knotenpool aktiviert sind, lautet die Strategie SURGE.

Blau/Grün-Upgrades konfigurieren

Mit Blau/Grün-Knotenpool-Upgrades können Sie Folgendes steuern:

  • BATCH_NODE_COUNT oder BATCH_PERCENT: Die Größe der Batches von Knoten, die GKE gleichzeitig leert, was bedeutet, dass die Pods aus den Knoten entfernt werden. Der Standardwert ist BATCH_NODE_COUNT=1. Wenn eine dieser Einstellungen auf null gesetzt ist, überspringt GKE diese Phase und fährt mit der Phase Knotenpool testen fort.
  • BATCH_SOAK_DURATION: Die Zeit zwischen jedem Batch von Knoten, die geleert werden.
  • NODE_POOL_SOAK_DURATION: die Vorlaufzeit, in der Sie die Arbeitslast in der neuen Knotenkonfiguration validieren können.

Weitere Informationen zur Funktionsweise der Phasen von Blau/Grün-Upgrades finden Sie unter Phasen von Blau/Grün-Upgrades.

Die folgenden Variablen werden in den Befehlen verwendet, die in den nächsten Abschnitten aufgeführt sind:

  • CLUSTER_NAME ist der Name des Clusters für den Knotenpool.
  • NODE_POOL_NAME ist der Name des Knotenpools.
  • NUMBER_NODES: Die Anzahl der Knoten im Knotenpool in jeder der Clusterzonen.
  • BATCH_NODE_COUNT: Die Anzahl der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Der Standardwert ist 1. Wenn sie auf null gesetzt ist, wird die blaue Poolleerungsphase übersprungen.
  • BATCH_PERCENT: Der Prozentsatz der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch per Drain beendet werden sollen, ausgedrückt als Dezimalzahl zwischen 0 und 1. GKE rundet auf den nächsten Knoten ab, bis zu einem Mindestwert von 1 Knoten, wenn der Prozentsatz keine ganze Anzahl von Knoten ist. Wenn sie auf null gesetzt ist, wird die blaue Poolleerungsphase übersprungen.
  • BATCH_SOAK_DURATION: Die Dauer in Sekunden, die nach jeder Batchleerung gewartet werden soll. Der Standardwert ist 0.
  • NODE_POOL_SOAK_DURATION: Die Wartezeit in Sekunden nach Abschluss des Leerens aller Batches. Die Standardeinstellung beträgt 3.600 Sekunden.

Knotenpool mit Blau/Grün-Upgradestrategie erstellen

Knotenpool mit Standardparametern für Blau/Grün-Upgrade erstellen

Verwenden Sie den folgenden Befehl, um einen Knotenpool in einem vorhandenen Cluster zu erstellen, der die Blau/Grün-Upgradestrategie mit den Standardparametern verwendet:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Knotenpool erstellen, der Blau/Grün-Upgrades mit Batchgrößen mit absoluter Knotenzahl verwendet

Wenn Sie einen Knotenpool mit benutzerdefinierten Blau/Grün-Upgradeeinstellungen erstellen möchten, verwenden Sie die Parameter-Flags mit dem Befehl zur Erstellung des Knotenpools.

Dieser Befehl erstellt einen Knotenpool mit der folgenden benutzerdefinierten Blau/Grün-Konfiguration mit einer absoluten Knotenzahl für die Batchleerung:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 600 s
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Knotenpool mit Blau/Grün-Upgrade mithilfe von prozentualen Batchgrößen erstellen

Dieser Befehl erstellt einen Knotenpool mit der folgenden benutzerdefinierten Blau/Grün-Konfiguration und verwendet einen Prozentsatz für die Batchleerungen:

  • BATCH_PERCENTAGE = 25 % (der Größe des Knotenpools)
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 1.800 s
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Vorhandenen Knotenpool für die Verwendung der Blau/Grün-Upgradestrategie aktualisieren

Knotenpool für die Verwendung von Blau/Grün-Upgrades mit den Standardparametern aktualisieren

Verwenden Sie den folgenden Befehl, um einen vorhandenen Knotenpool auf die Blau/Grün-Upgradestrategie zu aktualisieren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Knotenpool für die Verwendung von Blau/Grün-Upgrades mit Batchgrößen mit absoluter Knotenzahl aktualisieren

Wenn Sie einen vorhandenen Knotenpool auf die Blau/Grün-Upgradestrategie mit benutzerdefinierten Einstellungen aktualisieren möchten, verwenden Sie die Parameter-Flags mit dem Befehl zur Erstellung des Knotenpools.

Mit diesem Befehl wird ein Knotenpool aktualisiert, um die folgende benutzerdefinierte Blau/Grün-Konfiguration mit einer absoluten Knotenzahl für die Batchleerungen zu verwenden:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 600 s
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Knotenpool für die Verwendung von Blau/Grün-Upgrades mit prozentualen Batchgrößen aktualisieren

Dieser Befehl erstellt einen Knotenpool mit der folgenden benutzerdefinierten Blau/Grün-Konfiguration und verwendet einen Prozentsatz für die Batchleerungen:

  • BATCH_PERCENTAGE = 25 % (der Größe des Knotenpools)
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 1.800 s
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Zurück zu Surge-Upgrades wechseln

Sie können das Verhalten von Blau/Grün-Upgrades mit Einstellungen ändern und den Upgrade-Prozess mit Befehlen steuern.

Wenn Sie jedoch stattdessen Surge-Upgrades verwenden möchten, führen Sie den folgenden Befehl aus, um zu Surge-Upgrades zurückzukehren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-surge-upgrade

Automatisch skalierte Blau/Grün-Upgrades konfigurieren

Wenn Sie automatisch skalierte Blau/Grün-Upgrades für einen Knotenpool verwenden möchten, müssen Sie keine zusätzlichen Parameter für die Batchgröße oder die Einarbeitungszeit konfigurieren. Sie können jedoch die Zeitspanne zwischen dem Absperren und dem Leeren der Knoten konfigurieren. Lesen Sie die Best Practices und Einschränkungen, bevor Sie diese Upgradestrategie aktivieren.

Knotenpool mit automatisch skalierten Blau/Grün-Upgrades erstellen

So erstellen Sie einen Knotenpool mit aktivierten automatisch skalierten Blau/Grün-Upgrades:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --enable-autoscaling \
    --max-nodes=MAX_NODES \
    --enable-blue-green-upgrade \
    --autoscaled-rollout-policy=[wait-for-drain-duration=WAIT_FOR_DRAIN_DURATIONs]

Informationen zum Festlegen der Parameter MIN_NODE und MAX_NODE finden Sie in den Empfehlungen zum Konfigurieren von Cluster- und Knotenpools.

Ersetzen Sie den optionalen Parameter WAIT_FOR_DRAIN_DURATION durch die Zeit in Sekunden, die gewartet werden soll, nachdem der blaue Pool abgesperrt wurde und bevor die Knoten geleert werden. Sie können diese Zeit zwischen 0 und 7 Tagen konfigurieren. Der Standardwert sind 3 Tage (259200 Sekunden).

Knotenpool für die Verwendung von automatisch skalierten Blau/Grün-Upgrades aktualisieren

Vorhandenen Knotenpool für die Verwendung von automatisch skalierten Blau/Grün-Upgrades aktualisieren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --autoscaled-rollout-policy=[wait-for-drain-duration=WAIT_FOR_DRAIN_DURATIONs]

Ersetzen Sie den optionalen Parameter WAIT_FOR_DRAIN_DURATION durch die Zeit in Sekunden, die gewartet werden soll, nachdem der blaue Pool abgesperrt wurde und bevor die Knoten entleert werden. Sie können diese Zeit zwischen 0 und 7 Tagen konfigurieren. Der Standardwert sind 3 Tage (259200 Sekunden).

Upgrade-Einstellungen eines Knotenpools prüfen

Zum Prüfen der aktuellen Upgrade-Einstellungen eines Knotenpools können Sie den folgenden Befehl verwenden, um den Knotenpool zu beschreiben:

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Das folgende Snippet ist eine Beispielausgabe des Befehls. Das Feld strategy gibt die verwendete Upgradestrategie an:

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

Dieser Befehl zeigt auch die aktuelle Phase eines laufenden Blau/Grün-Upgrades an. Upgrade-Einstellungen eines Knotenpools prüfen

Nächste Schritte