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 approfondire le 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à, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.

Configurare una strategia di upgrade dei nodi

Quando configuri i pool di nodi 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 ti consente di ottimizzare il processo di upgrade del pool di nodi in base alle esigenze del tuo ambiente cluster.

Configura gli upgrade di sovraccarico

Gli upgrade di picco ti consentono di cambiare il numero di nodi di GKE da eseguire contemporaneamente e l'entità dell'interruzione causata da un upgrade sui tuoi carichi di lavoro.

I flag max-surge-upgrade e max-unavailable-upgrade sono definiti per ogni pool di nodi. Per ulteriori informazioni sulla scelta dei parametri giusti, consulta Ottimizzare la configurazione dell'upgrade per i picchi.

Puoi modificare queste impostazioni quando crei o aggiorni un cluster o pool di nodi.

Nei comandi indicati di seguito vengono utilizzate le seguenti variabili:

  • CLUSTER_NAME: il nome del cluster per il pool di nodi.
  • COMPUTE_ZONE: la zona del cluster.
  • NODE_POOL_NAME: il nome del pool di nodi.
  • NUMBER_NODES: il numero di nodi nel pool di nodi in ciascuna delle zone del cluster.
  • SURGE_NODES: il numero di nodi extra (di picco) da creare a ogni upgrade del pool di nodi.
  • UNAVAILABLE_NODES: il numero di nodi che possono non essere disponibili contemporaneamente a ogni upgrade del pool di nodi.

Creazione di un cluster con parametri di picco specifici

Per creare un cluster con impostazioni specifiche per gli upgrade per picchi di domanda, 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 per picchi di domanda disattivato

Per creare un cluster senza upgrade per picchi di domanda, 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 pool di nodi con parametri di picco specifici

Per creare un pool di nodi in un cluster esistente con impostazioni specifiche per gli upgrade di picco, 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

Modificare le impostazioni di upgrade di sovraccarico per un pool di nodi esistente

Per aggiornare le impostazioni di upgrade di un pool di nodi 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 picco. Se imposti max-surge-upgrade su 0, GKE non crea nodi di picco.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Verificare se gli upgrade per picchi sono abilitati in un pool di nodi

Per verificare se gli upgrade di picco sono abilitati in un pool di nodi, utilizza gcloud per descrivere i parametri del cluster:

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Se gli upgrade per picchi di domanda sono abilitati nel pool di nodi, la strategia elencata è SURGE.

Configura gli upgrade blu/verde

Con gli upgrade dei pool di nodi blu/verde, puoi controllare:

  • BATCH_NODE_COUNT o BATCH_PERCENT: le dimensioni dei batch di nodi che GKE scarica 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 salta questa fase e passa alla fase del pool di nodi di assorbimento.
  • BATCH_SOAK_DURATION: il tempo che intercorre tra ogni batch di svuotamento dei nodi.
  • NODE_POOL_SOAK_DURATION: il tempo di soak necessario per convalidare il carico di lavoro nella nuova configurazione del nodo.

Per scoprire di più sul funzionamento delle fasi degli upgrade blu/verdi, consulta Le fasi degli upgrade blu/verdi.

Nei comandi elencati nelle sezioni successive vengono utilizzate le seguenti variabili:

  • CLUSTER_NAME: il nome del cluster per il pool di nodi.
  • NODE_POOL_NAME: il nome del pool di nodi.
  • NUMBER_NODES: il numero di nodi nel pool di nodi 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 è 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. GKE arrotonda per difetto al nodo più vicino, a un valore minimo di 1 nodo, se la percentuale non è un numero intero di nodi. Se è impostato su 0, la fase di svuotamento del pool blu verrà ignorata.
  • BATCH_SOAK_DURATION: la durata in secondi da attendere dopo lo svuotamento di ogni batch. Il valore predefinito è 0.
  • NODE_POOL_SOAK_DURATION: la durata in secondi da attendere dopo aver completato lo svuotamento di tutti i batch. Il valore predefinito è 3600 secondi.

Creazione di un pool di nodi con una strategia di upgrade blu/verde

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

Per creare un pool di nodi in un cluster esistente con la strategia di upgrade blue-green con i parametri predefiniti, utilizza il seguente comando:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Creare un pool di nodi con upgrade blu/verde utilizzando dimensioni batch del conteggio dei nodi assoluto

Per creare un pool di nodi con impostazioni di upgrade blue-green 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 blue-green personalizzata, utilizzando un conteggio dei nodi assoluto per i tiri batch:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10s
  • NODE_POOL_SOAK_DURATION = 600 secondi
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

Creare un pool di nodi con upgrade blue-green utilizzando dimensioni batch basate su percentuale

Questo comando crea un pool di nodi con la seguente configurazione blue-green personalizzata, utilizzando una percentuale per i tiri batch:

  • BATCH_PERCENTAGE = 25% (delle dimensioni del pool di nodi)
  • BATCH_SOAK_DURATION = 10s
  • NODE_POOL_SOAK_DURATION = 1800
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 del pool di nodi esistente

Aggiornare un pool di nodi con i parametri predefiniti per l'upgrade blue-green

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

Aggiornare un pool di nodi con l'upgrade blu/verde utilizzando dimensioni batch del 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 pool di nodi in modo che utilizzi la seguente configurazione blue-green personalizzata, utilizzando un conteggio dei nodi assoluto per i tiri batch:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10s
  • NODE_POOL_SOAK_DURATION = 600 secondi
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

Aggiornare un pool di nodi con l'upgrade blu/verde utilizzando dimensioni batch basate su percentuale

Questo comando crea un pool di nodi con la seguente configurazione blue-green personalizzata, utilizzando una percentuale per i tiri batch:

  • BATCH_PERCENTAGE = 25% (delle dimensioni del pool di nodi)
  • BATCH_SOAK_DURATION = 10s
  • NODE_POOL_SOAK_DURATION = 1800
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 blue-green con le impostazioni e controllare la procedura di upgrade con i comandi.

Tuttavia, se vuoi utilizzare gli upgrade per i picchi, esegui il seguente comando per tornare agli upgrade per i picchi:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-surge-upgrade

Controllare le impostazioni di upgrade di un pool di nodi

Per controllare le impostazioni di upgrade correnti di un pool di nodi, puoi utilizzare il seguente comando per descriverlo:

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Il seguente snippet è un esempio di output del comando. Il campo strategy indica la strategia di upgrade in uso: SURGE indica che è attiva la strategia di upgrade per picchi di domanda e BLUE_GREEN indica che è attiva la strategia di upgrade blu/verde.

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

Questo comando mostra anche la fase corrente di un upgrade blue-green in corso. Scopri di più su come controllare le impostazioni di upgrade di un node pool.

Passaggi successivi