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 updateab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Voraussetzungen
- Wenn Sie automatisch skalierte Blue-Green-Upgrades verwenden möchten, muss auf der Steuerungsebene eines 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 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_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 verwendet, die in den nächsten Abschnitten aufgeführt sind:
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 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= 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
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= 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 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 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 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:
- 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