Configura strategie di upgrade dei nodi

In qualità di amministratore della piattaforma, puoi configurare una strategia di upgrade dei nodi per ottimizzare il modo in cui GKE esegue l'upgrade dei nodi nei tuoi cluster Google Kubernetes Engine (GKE). Per scoprire 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 operazioni:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva 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 comando gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.

Configura una strategia di upgrade dei nodi

Quando configuri i node pool del cluster, puoi selezionare e configurare una delle strategie di upgrade dei nodi supportate, ovvero surge o blue-green. L'utilizzo di queste strategie di upgrade consente di ottimizzare il processo di upgrade del pool di nodi in base alle esigenze dell'ambiente del cluster.

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 menzionati 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_NODES

Creazione 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=1

Creazione 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_NODES

Modifica 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_NODES

Verifica 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_NAME

Se gli upgrade di sovraccarico sono abilitati nel node pool, la strategia elencata è SURGE.

Configura gli upgrade blu/verde

Con gli upgrade del node pool blu/verde, puoi controllare:

  • BATCH_NODE_COUNT o BATCH_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 ogni batch di nodi in fase di svuotamento.
  • NODE_POOL_SOAK_DURATION: la quantità di tempo di soak per convalidare il workload nella nuova configurazione dei nodi.

Per scoprire di più su come funzionano le fasi degli upgrade blu/verde, consulta Le 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. GKE arrotonda per difetto al nodo più vicino, fino a un valore minimo di 1 nodo, se la percentuale non è un numero intero di nodi. 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 node pool con la strategia di upgrade blu/verde

Crea un node pool con i parametri predefiniti per l'upgrade blu/verde

Per creare un node pool in un cluster esistente con 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 node pool con upgrade blu/verde utilizzando dimensioni batch di conteggio dei nodi assoluto

Per creare un node pool con impostazioni di upgrade blu-verde personalizzate, utilizza i flag dei parametri con il comando di creazione del node pool.

Questo comando crea un node pool con la seguente configurazione blu-verde personalizzata, utilizzando un conteggio assoluto dei nodi per gli svuotamenti batch:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10s
  • NODE_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 node pool con upgrade blu/verde utilizzando dimensioni batch basate sulla percentuale

Questo comando crea un node pool 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 = 10s
  • NODE_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 una strategia di upgrade blu/verde di un node pool esistente

Aggiorna un node pool con i parametri predefiniti di upgrade blu/verde

Per aggiornare un node pool 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 node pool con l'upgrade blu/verde utilizzando dimensioni dei batch con un numero di nodi assoluto

Per aggiornare un node pool esistente alla strategia di upgrade blu/verde con impostazioni personalizzate, utilizza i flag dei parametri con il comando di creazione del node pool.

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 = 2
  • BATCH_SOAK_DURATION = 10s
  • NODE_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 node pool con l'upgrade blu/verde utilizzando dimensioni batch basate sulla percentuale

Questo comando crea un node pool 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 = 10s
  • NODE_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

Tornare agli upgrade di sovraccarico

Puoi modificare il comportamento degli upgrade blu/verde con le impostazioni e controllare la procedura di upgrade con i comandi.

Tuttavia, se vuoi utilizzare gli upgrade di sovraccarico, 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

Esamina le impostazioni di upgrade di un node pool

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 è attiva, mentre BLUE_GREEN indica che la strategia di upgrade blu/verde è attiva.

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