Als Plattformadministrator können Sie eine Upgradestrategie für Knoten konfigurieren, um zu optimieren, wie GKE (Google Kubernetes Engine) die Knoten in Ihren GKE-Clustern aktualisiert. Weitere Informationen zu Upgradestrategien für Knoten finden Sie unter Upgradestrategien für Knoten.
Hinweis
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,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
Voraussetzungen
- Wenn Sie automatisch skalierte Blau/Grün Upgrades verwenden möchten, muss auf der Steuerungsebene des Clusters Version 1.34.0-gke.2201000 oder höher ausgeführt werden und der Cluster Autoscaler muss aktiviert sein.
Upgradestrategie für Knoten konfigurieren
Beim Konfigurieren der Standardknotenpools 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_NAMEist 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_NODESCluster 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=1Knotenpool 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_NODESSurge-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_NODESSurge-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_NAMEWenn 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_COUNToderBATCH_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 Phasen von Blau/Grün Upgrades.
Die folgenden Variablen werden in den Befehlen in den nächsten Abschnitten verwendet:
CLUSTER_NAMEist der Name des Clusters für den Knotenpool.NODE_POOL_NAMEist 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 der 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= 600s
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
Vorhandenen Knotenpool für die Verwendung der Blau/Grün-Upgradestrategie 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= 600s
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
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 Zeit zwischen dem Sperren und dem Leeren der Knoten konfigurieren. Bevor Sie diese Upgradestrategie aktivieren, lesen Sie die besten Praktiken und Einschränkungen.
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 Knoten
pools.
Ersetzen Sie den optionalen Parameter WAIT_FOR_DRAIN_DURATION durch die Zeit in Sekunden, die nach dem Sperren des blauen Pools und vor dem Leeren der Knoten gewartet werden soll. Sie können diese Zeit zwischen 0 und 7 Tagen konfigurieren. Der Standardwert beträgt 3 Tage (259200 Sekunden).
Knotenpool mit 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 nach dem Sperren des blauen Pools und vor dem Leeren der Knoten gewartet werden soll. Sie können diese Zeit zwischen 0 und 7 Tagen konfigurieren. Der Standardwert beträgt 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:
- SURGE gibt an, dass die Surge-Upgradestrategie aktiviert ist.
BLUE_GREEN gibt an, dass die Blau/Grün-Upgradestrategie aktiviert ist:
- Standardmäßige Blau/Grün
Upgrades sind aktiviert, wenn die Ausgabe
Werte für
standardRolloutPolicyunterblueGreenSettingsenthält. - Automatisch skalierte Blau/Grün
Upgrades sind aktiviert, wenn
autoscaledRolloutPolicyerwähnt wird.
- Standardmäßige Blau/Grün
Upgrades sind aktiviert, wenn die Ausgabe
Werte für
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
- Weitere Informationen zu Knotenupgrade-Strategien.
- Cluster oder Knotenpool manuell upgraden
- Weitere Informationen zu Wartungsfenstern und Ausschlüssen
- Weitere Informationen zu Standard-Clusterupgrades.
- Automatische Knotenupgrades konfigurieren