Configura strategie di upgrade dei nodi


In qualità di amministratore di piattaforma, puoi configurare una strategia di upgrade dei nodi per ottimizzare il modo in cui GKE esegue l'upgrade dei nodi nei 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 attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.

Configura una strategia di upgrade dei nodi

Quando configuri i pool di nodi del tuo cluster, puoi selezionare e configurare una delle strategie di upgrade dei nodi supportate, ovvero surge o blu-verde. 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 Surge

Gli upgrade di Surge consentono di modificare il numero di nodi degli upgrade di GKE contemporaneamente e la quantità di interruzioni che un upgrade apporta ai tuoi carichi di lavoro.

I flag max-surge-upgrade e max-unavailable-upgrade sono definiti per ogni pool di nodi. Per saperne di più sulla scelta dei parametri corretti, consulta Ottimizzare la configurazione dell'upgrade di incremento.

Puoi modificare queste impostazioni durante la creazione o l'aggiornamento di un cluster o di un 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 per il cluster.
  • NODE_POOL_NAME: il nome del pool di nodi.
  • NUMBER_NODES: il numero di nodi nel pool di nodi in ciascuna zona del cluster.
  • SURGE_NODES: il numero di nodi (sovraccarico) aggiuntivi da creare a ogni upgrade del pool di nodi.
  • UNAVAILABLE_NODES: il numero di nodi che possono essere non disponibili contemporaneamente in 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 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 upgrade di sovraccarico disabilitato

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 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 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 di upgrade di picco 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 superiore a 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

Controllo dell'abilitazione degli upgrade di picco su un pool di nodi

Per verificare se gli upgrade di sovraccarico sono abilitati su 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 di incremento sono abilitati nel pool di nodi, la strategia elencata è SURGE.

Configura gli upgrade blu/verde

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

  • BATCH_NODE_COUNT o BATCH_PERCENT: le dimensioni dei batch di nodi che GKE svuota contemporaneamente, 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 Soak.
  • BATCH_SOAK_DURATION: il tempo che intercorre tra lo svuotamento di ogni batch di nodi.
  • NODE_POOL_SOAK_DURATION: il tempo di attesa necessario per convalidare il carico di lavoro sulla nuova configurazione del nodo.

Per saperne 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 pool di nodi.
  • NODE_POOL_NAME: il nome del pool di nodi.
  • NUMBER_NODES: il numero di nodi nel pool di nodi in ciascuna zona 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à saltata.
  • BATCH_PERCENT: la percentuale di nodi blu da svuotare in un batch durante la fase di svuotamento del pool blu, espressa con un 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à saltata.
  • BATCH_SOAK_DURATION: la durata in secondi di attesa dopo ogni svuotamento dei batch. Il valore predefinito è 0.
  • NODE_POOL_SOAK_DURATION: la durata in secondi di attesa dopo il completamento dello 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 parametri predefiniti per l'upgrade blu/verde

Per creare un pool di nodi in un cluster esistente con la strategia di upgrade blu/verde con i parametri predefiniti, utilizza il comando seguente:

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

Crea un pool di nodi con upgrade blu/verde utilizzando dimensioni batch per il numero assoluto di nodi

Per creare un pool di nodi con 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 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 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 con upgrade blu/verde utilizzando le dimensioni batch basate su 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% (della dimensione del pool di nodi)
  • 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 per pool di nodi esistente

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

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 con upgrade blu/verde utilizzando dimensioni batch per il conteggio assoluto dei nodi

Per aggiornare un pool di nodi esistente alla strategia di upgrade blu/verde con le 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 da utilizzare la seguente configurazione blu/verde personalizzata, con 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 pool di nodi con upgrade blu/verde utilizzando le dimensioni batch basate su 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% (della dimensione del pool di nodi)
  • 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

Ritorno agli upgrade di Surge

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, esegui il comando seguente per tornare agli upgrade di sovraccarico:

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

Ispeziona le impostazioni di upgrade di un pool di nodi

Per ispezionare le attuali impostazioni di upgrade di un pool di nodi, puoi utilizzare il seguente comando per descrivere il pool di nodi:

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

Lo snippet seguente è un output di esempio del comando. Il campo strategy indica la strategia di upgrade in uso: SURGE indica che la strategia di upgrade di incremento è abilitata e BLUE_GREEN indica che la strategia di upgrade blu/verde è abilitata.

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 pool di nodi.

Passaggi successivi