In qualità di amministratore della piattaforma, puoi configurare una strategia di upgrade dei nodi per ottimizzare la modalità con cui Google Kubernetes Engine (GKE) esegue l'upgrade dei nodi nei cluster GKE. Per saperne di più sulle strategie di upgrade dei nodi, consulta Strategie di upgrade dei nodi.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il
gcloud components updatecomando. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Requisiti
- Per utilizzare gli upgrade blu/verde con scalabilità automatica, il control plane di un cluster deve eseguire la versione 1.34.0-gke.2201000 o successive e avere il gestore della scalabilità automatica del cluster abilitato.
Configura una strategia di upgrade dei nodi
Quando configuri i node pool Standard del cluster, puoi selezionare e configurare una delle seguenti strategie di upgrade dei nodi supportate:
L'utilizzo di queste strategie di upgrade ti consente di ottimizzare il processo di upgrade pool di nodi in base alle esigenze dell'ambiente del cluster. I node pool gestiti da Autopilot nei cluster Standard utilizzano gli upgrade di sovraccarico e non puoi selezionare una strategia diversa o modificare la configurazione.
Configura gli upgrade di sovraccarico
Gli upgrade di sovraccarico ti consentono di modificare il numero di nodi di cui GKE esegue l'upgrade contemporaneamente e la quantità di interruzioni che un upgrade causa ai tuoi workload.
I flag
max-surge-upgrade e max-unavailable-upgrade sono definiti per
ogni node pool. Per saperne di più sulla scelta dei parametri giusti, consulta
Ottimizza la configurazione dell'upgrade di sovraccarico.
Puoi modificare queste impostazioni durante la creazione o l'aggiornamento di un cluster o di un node pool.
Nei comandi indicati di seguito vengono utilizzate le seguenti variabili:
CLUSTER_NAME: il nome del cluster per il node pool.COMPUTE_ZONE: la zona del cluster.NODE_POOL_NAME: il nome del node pool.NUMBER_NODES: il numero di nodi nel node pool in ciascuna delle zone del cluster.SURGE_NODES: il numero di nodi aggiuntivi (picco) da creare a ogni upgrade del node pool.UNAVAILABLE_NODES: il numero di nodi che possono non essere disponibili contemporaneamente a ogni upgrade del node pool.
Creazione di un cluster con parametri di sovraccarico specifici
Per creare un cluster con impostazioni specifiche per gli upgrade di sovraccarico, utilizza i flag max-surge-upgrade e max-unavailable-upgrade.
gcloud container clusters create CLUSTER_NAME \
--max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODESCreazione di un cluster con l'upgrade di sovraccarico disattivato
Per creare un cluster senza upgrade di sovraccarico, imposta il valore del flag max-surge-upgrade
su 0.
gcloud container clusters create CLUSTER_NAME \
--max-surge-upgrade=0 --max-unavailable-upgrade=1Creazione di un node pool con parametri di sovraccarico specifici
Per creare un node pool in un cluster esistente con impostazioni specifiche per
gli upgrade di sovraccarico, utilizza i flag max-surge-upgrade e
max-unavailable-upgrade.
gcloud container node-pools create NODE_POOL_NAME \
--num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \
--max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODESModifica le impostazioni degli upgrade di sovraccarico per un node pool esistente
Per aggiornare le impostazioni di upgrade di un node pool esistente, utilizza i flag max-surge-upgrade e
max-unavailable-upgrade. Se imposti max-surge-upgrade su un valore maggiore di
0, GKE crea nodi di sovraccarico. Se imposti max-surge-upgrade
su 0, GKE non crea nodi di sovraccarico.
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODESVerifica se gli upgrade di sovraccarico sono abilitati in un node pool
Per verificare se gli upgrade di sovraccarico sono abilitati in un node pool, utilizza gcloud per descrivere
i parametri del cluster:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAMESe gli upgrade di sovraccarico sono abilitati nel node pool, la strategia elencata è SURGE.
Configura gli upgrade blu/verde
Con gli upgrade pool di nodi blu/verde, puoi controllare:
BATCH_NODE_COUNToBATCH_PERCENT: le dimensioni dei batch di nodi che GKE svuota alla volta, il che significa che i pod vengono rimossi dai nodi. Il valore predefinito èBATCH_NODE_COUNT=1. Se una di queste impostazioni è impostata su 0, GKE ignora questa fase e passa alla fase Node pool di soak.BATCH_SOAK_DURATION: il tempo tra lo svuotamento di ogni batch di nodi.NODE_POOL_SOAK_DURATION: la quantità di tempo di soak per convalidare il workload nella nuova configurazione dei nodi.
Per saperne di più sul funzionamento delle fasi degli upgrade blu/verde, consulta Fasi degli upgrade blu/verde.
Nei comandi elencati nelle sezioni successive vengono utilizzate le seguenti variabili:
CLUSTER_NAME: il nome del cluster per il node pool.NODE_POOL_NAME: il nome del node pool.NUMBER_NODES: il numero di nodi nel node pool in ciascuna delle zone del cluster.BATCH_NODE_COUNT: il numero di nodi blu da svuotare in un batch durante la fase di svuotamento del pool blu. Il valore predefinito è 1. Se il valore è impostato su 0, la fase di svuotamento del pool blu verrà ignorata.BATCH_PERCENT: la percentuale di nodi blu da svuotare in un batch durante la fase di svuotamento del pool blu, espressa come numero decimale compreso tra 0 e 1, inclusi. Se la percentuale non è un numero intero di nodi, GKE arrotonda per difetto al nodo più vicino, fino a un valore minimo di 1 nodo. Se il valore è impostato su 0, la fase di svuotamento del pool blu verrà ignorata.BATCH_SOAK_DURATION: la durata in secondi di attesa dopo lo svuotamento di ogni batch. Il valore predefinito è 0.NODE_POOL_SOAK_DURATION: la durata in secondi di attesa dopo aver completato lo svuotamento di tutti i batch. Il valore predefinito è 3600 secondi.
Creazione di un pool di nodi che utilizza la strategia di upgrade blu/verde
Crea un pool di nodi che utilizza i parametri predefiniti di upgrade blu/verde
Per creare un pool di nodi in un cluster esistente che utilizza la strategia di upgrade blu/verde con i parametri predefiniti, utilizza il seguente comando:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Crea un pool di nodi che utilizza gli upgrade blu/verde con dimensioni batch di conteggio dei nodi assoluto
Per creare un pool di nodi che utilizza impostazioni di upgrade blu/verde personalizzate, utilizza i flag dei parametri con il comando di creazione del pool di nodi.
Questo comando crea un pool di nodi con la seguente configurazione blu-verde personalizzata, utilizzando un conteggio assoluto dei nodi per gli svuotamenti batch:
BATCH_NODE_COUNT= 2BATCH_SOAK_DURATION= 10sNODE_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
Crea un pool di nodi che utilizza l'upgrade blu/verde con dimensioni batch basate sulla percentuale
Questo comando crea un pool di nodi con la seguente configurazione blu-verde personalizzata, utilizzando una percentuale per gli svuotamenti batch:
BATCH_PERCENTAGE= 25% (delle dimensioni del node pool)BATCH_SOAK_DURATION= 10sNODE_POOL_SOAK_DURATION= 1800s
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
Aggiornamento di un pool di nodi esistente per utilizzare la strategia di upgrade blu/verde
Aggiorna un pool di nodi per utilizzare gli upgrade blu/verde con i parametri predefiniti
Per aggiornare un pool di nodi esistente alla strategia di upgrade blu/verde, utilizza il seguente comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Aggiorna un pool di nodi per utilizzare gli upgrade blu/verde con dimensioni batch di conteggio dei nodi assoluto
Per aggiornare un pool di nodi esistente alla strategia di upgrade blu/verde con impostazioni personalizzate, utilizza i flag dei parametri con il comando di creazione del pool di nodi.
Questo comando aggiorna un node pool in modo che utilizzi la seguente configurazione blu/verde personalizzata, utilizzando un numero assoluto di nodi per gli svuotamenti batch:
BATCH_NODE_COUNT= 2BATCH_SOAK_DURATION= 10sNODE_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
Aggiorna un pool di nodi per utilizzare gli upgrade blu/verde con dimensioni batch basate sulla percentuale
Questo comando crea un pool di nodi con la seguente configurazione blu-verde personalizzata, utilizzando una percentuale per gli svuotamenti batch:
BATCH_PERCENTAGE= 25% (delle dimensioni del node pool)BATCH_SOAK_DURATION= 10sNODE_POOL_SOAK_DURATION= 1800s
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
Ritorno agli upgrade di sovraccarico
Puoi modificare il comportamento degli upgrade blu/verde con le impostazioni, e controllare il processo di upgrade con i comandi.
Tuttavia, se vuoi utilizzare gli upgrade di sovraccarico invece, esegui il seguente comando per tornare a questo tipo di upgrade:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-surge-upgrade
Configura gli upgrade blu/verde con scalabilità automatica
Per utilizzare gli upgrade blu/verde con scalabilità automatica per un pool di nodi, non devi configurare nessuno dei parametri aggiuntivi per le dimensioni del batch o il soak. Tuttavia, puoi configurare la durata del tempo tra il cordoning e lo svuotamento dei nodi. Prima di abilitare questa strategia di upgrade, esamina le best practice e limitazioni.
Crea un pool di nodi che utilizza gli upgrade blu/verde con scalabilità automatica
Crea un pool di nodi con gli upgrade blu/verde con scalabilità automatica abilitati:
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]
Per impostare i parametri MIN_NODE e
MAX_NODE, consulta i suggerimenti su come
configurare il cluster e i node
pool.
Sostituisci il parametro facoltativo WAIT_FOR_DRAIN_DURATION con il tempo, in secondi, di attesa dopo il cordoning del pool blu e prima dello svuotamento dei nodi. Puoi configurare questo tempo tra zero e sette giorni, con un valore predefinito di tre giorni (259200 secondi).
Aggiorna un pool di nodi per utilizzare gli upgrade blu/verde con scalabilità automatica
Aggiorna un pool di nodi esistente per utilizzare gli upgrade blu/verde con scalabilità automatica:
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]
Sostituisci il parametro facoltativo WAIT_FOR_DRAIN_DURATION con il tempo, in secondi, di attesa dopo il cordoning del pool blu e prima dello svuotamento dei nodi. Puoi configurare questo tempo tra zero e sette giorni, con un valore predefinito di tre giorni (259200 secondi).
Esamina le impostazioni di upgrade di un pool di nodi
Per esaminare le impostazioni di upgrade correnti di un node pool, puoi utilizzare il seguente comando per descrivere il node pool:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
Il seguente snippet è un output di esempio del comando. Il campo strategy indica la strategia di upgrade in uso:
- SURGE indica che la strategia di upgrade di sovraccarico è abilitata.
BLUE_GREEN indica che la strategia di upgrade blu/verde è abilitata:
- Gli upgrade blu/verde standard sono abilitati se l'output include
valori per
standardRolloutPolicyinblueGreenSettings. - Gli upgrade blu/verde con scalabilità automatica sono abilitati se
autoscaledRolloutPolicyviene menzionato.
- Gli upgrade blu/verde standard sono abilitati se l'output include
valori per
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Questo comando mostra anche la fase attuale di un upgrade blu-verde in corso. Scopri di più su come controllare le impostazioni di upgrade di un node pool.
Passaggi successivi
- Scopri di più sulle strategie di upgrade dei nodi.
- Scopri come eseguire manualmente l'upgrade di un cluster o di un node pool.
- Scopri di più sui periodi di manutenzione e sulle esclusioni.
- Scopri di più sugli upgrade dei cluster Standard.
- Scopri come configurare gli upgrade automatici dei nodi.