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
oderBATCH_PERCENT
: Die Größe der Batches von Knoten, die GKE gleichzeitig leert, was bedeutet, dass die Pods aus den Knoten entfernt werden. Der Standardwert istBATCH_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
= 2BATCH_SOAK_DURATION
= 10 sNODE_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 sNODE_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
= 2BATCH_SOAK_DURATION
= 10 sNODE_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 sNODE_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