Strategien für Knotenupgrades konfigurieren


Als Plattformadministrator können Sie eine Upgradestrategien für Knoten konfigurieren, um zu optimieren, wie GKE die Knoten in Ihren GKE-Clustern (Google Kubernetes Engine) 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 diese Aufgabe 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 gcloud components update ab.

Upgradestrategie für Knoten konfigurieren

Beim Konfigurieren der Knotenpools Ihres Clusters können Sie eine der unterstützten Upgradestrategien für Knoten auswählen und konfigurieren: Surge oder Blau/Grün. Mit diesen Upgradestrategien können Sie den Upgradeprozess für Knotenpools gemäß den Anforderungen Ihrer Clusterumgebung optimieren.

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 Die Phasen von Blau/Grün-Upgrades.

Die folgenden Variablen werden in den in den nächsten Abschnitten aufgeführten Befehlen verwendet:

  • 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 mit der Blau/Grün-Upgradestrategie mit den Standardparametern zu erstellen:

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

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

Verwenden Sie zum Erstellen eines Knotenpools mit benutzerdefinierten Blau/Grün-Upgradeeinstellungen 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

Vorhandene Blau/Grün-Upgradestrategie für Knotenpools aktualisieren

Knotenpool mit Standardparametern für Blau/Grün-Upgrade 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 mit Blau/Grün-Upgrade mithilfe von 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 mit Blau/Grün-Upgrade mithilfe von 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

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: SURGE gibt an, dass die Surge-Upgradestrategie aktiviert ist, und BLUE_GREEN gibt an, dass die Blau/Grün-Upgradestrategie aktiviert ist.

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