Configura gli aggiornamenti di picco dei pool di nodi

Questo documento descrive come abilitare e gestire gli aggiornamenti di picco dei pool di nodi. Per informazioni su come funzionano gli aggiornamenti di picco dei pool di nodi, consulta Informazioni sugli aggiornamenti di picco.

Aspetti da considerare prima di eseguire aggiornamenti di picco

Prima di eseguire un aggiornamento di picco, tieni presente quanto segue:

  • Le istanze aggiuntive create come parte di questo passaggio di incremento possono potenzialmente superare il limite di quota delle istanze AWS. Se non disponi di quota sufficiente e non è possibile eseguire il provisioning di queste istanze aggiuntive, l'aggiornamento potrebbe non riuscire.
  • Se il criterio max-unavailable-update è impostato su 0, potrebbero comunque verificarsi interruzioni dei carichi di lavoro man mano che i pod vengono rimossi e ripianificati sui nodi più recenti.
  • Il numero massimo di nodi che possono essere aggiornati contemporaneamente è uguale alla somma di max-surge-update e max-unavailable-update ed è limitato a 20.

Abilita e configura gli aggiornamenti di Surge

Per abilitare gli aggiornamenti di Surge, contatta l'assistenza Google Cloud. Dopo che il team di assistenza attiva la funzionalità, puoi assegnare valori ai parametri max-surge-update e max-unavailable-update durante la creazione o l'aggiornamento del pool di nodi:

Creazione

gcloud container aws node-pools create NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

Aggiornamento

gcloud container aws node-pools update NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

Sostituisci quanto segue:

  • NODE_POOL_NAME: il nome del pool di nodi da aggiornare.
  • CLUSTER_NAME: il nome del cluster.
  • GOOGLE_CLOUD_LOCATION: la regione supportata di Google Cloud che gestisce il cluster. Ad esempio: us-west1.
  • MAX_SURGE: numero massimo di nodi aggiuntivi che possono essere creati temporaneamente oltre la dimensione attuale del pool di nodi durante un aggiornamento. Modificando questo valore, puoi controllare quanti nodi vengono aggiornati contemporaneamente. Il valore predefinito è 1, ma puoi impostarlo su 0. Se imposti max-surge-update su un valore maggiore di 0, GKE su AWS crea nodi di picco; l'impostazione del valore su 0 ne impedisce la creazione.
  • MAX_UNAVAILABLE: il numero massimo di nodi che possono non essere disponibili contemporaneamente durante il processo di aggiornamento. Aumentando questo valore, è possibile aggiornare contemporaneamente più nodi. Il valore predefinito è 0, ma può essere modificato verso l'alto.

Controlla le impostazioni di aggiornamento dei picchi su un pool di nodi

Per vedere le impostazioni di aggiornamento dei picchi di un pool di nodi, esegui questo comando:

gcloud alpha container aws node-pools describe NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \

Sostituisci quanto segue:

  • NODE_POOL_NAME: il nome del tuo pool di nodi.
  • CLUSTER_NAME: il nome del cluster.
  • GOOGLE_CLOUD_LOCATION: la regione supportata di Google Cloud che gestisce il cluster. Ad esempio: us-west1.

Se nel pool di nodi sono abilitati gli aggiornamenti surge, l'output di questo comando visualizza una sezione con l'etichetta surge_settings. Questa sezione surge_settings mostra i valori dei parametri max_surge e max_unavailable.

Gestisci gli aggiornamenti di picco in corso

Puoi annullare un aggiornamento di Surge in corso, eseguire un rollback di un aggiornamento di Surge non riuscito o riprendere un aggiornamento interrotto.

Annullare (mettere in pausa) e riprendere l'aggiornamento di un picco

In GKE su AWS, "annullare" un aggiornamento di incremento significa metterlo in pausa. Per maggiori dettagli su come annullare un aggiornamento, vedi Annullare un'operazione di aggiornamento.

In altre parole, l'annullamento di un aggiornamento di incremento non comporta il rollback dell'aggiornamento. Al contrario, potrebbe lasciare il pool di nodi in uno stato parzialmente aggiornato con due gruppi di scalabilità automatica: uno con nodi che eseguono la configurazione precedente e uno con nodi che eseguono la nuova configurazione. Per eliminare il problema, riprendi l'aggiornamento del picco eseguendo di nuovo il comando di aggiornamento, utilizzando gli stessi parametri di destinazione dell'operazione interrotta. L'avvio di un aggiornamento con parametri del pool di nodi diversi è limitato fino al termine dell'aggiornamento precedente.

Esegui il rollback dell'aggiornamento di surge non riuscito

Puoi eseguire il rollback di un pool di nodi allo stato originale se un aggiornamento di incremento è stato annullato o non è riuscito.

Aspetti da considerare prima di eseguire il rollback di un aggiornamento di picco

  • Puoi eseguire il rollback solo di un pool di nodi abilitato per i picchi che è in stato parzialmente aggiornato (o in stato DEGRADED).
  • Una volta avviato un rollback su un pool di nodi, non puoi annullarlo.
  • Non puoi eseguire altre operazioni di aggiornamento fino al completamento dell'operazione di rollback.
  • Puoi riprovare a eseguire un rollback solo se non va a buon fine.
  • Non puoi eseguire il rollback dei pool di nodi dopo che sono stati aggiornati correttamente.

Eseguire il rollback di un aggiornamento di picco non riuscito

Per eseguire il rollback di un'operazione di aggiornamento non riuscita sul pool di nodi, esegui questo comando:

gcloud container aws node-pools rollback NODE_POOL_NAME
    --cluster CLUSTER_NAME

Sostituisci quanto segue:

  • NODE_POOL_NAME: il nome del pool di nodi da aggiornare.
  • CLUSTER_NAME: il nome del cluster.

Come funziona il rollback

L'avvio interno di un rollback comporta l'avvio di una nuova operazione di aggiornamento sul pool di nodi. "Internamente" qui significa che questo processo viene eseguito all'interno del sistema e non richiede il tuo intervento. L'operazione ripristina lo stato originale dei nodi del pool di nodi, secondo il criterio del "best effort".

I nodi che appartengono al vecchio gruppo di scalabilità automatica non sono pianificabili e il gestore della scalabilità automatica dei cluster di questo gruppo è abilitato per consentire la pianificazione dei carichi di lavoro sui nodi. I nodi del pool di nodi parzialmente aggiornati nel nuovo gruppo di scalabilità automatica vengono contrassegnati come non pianificabili, svuotati e terminati in base alle impostazioni di incremento definite nel tentativo di aggiornamento di incremento.

Gestire gli aggiornamenti di picco non riusciti

Hai a disposizione tre opzioni per risolvere un aggiornamento non riuscito:

  1. Continua l'aggiornamento: puoi procedere con l'aggiornamento non riuscito utilizzando le stesse impostazioni del pool di nodi target del tentativo iniziale non riuscito.
  2. Rollback: utilizza il comando di rollback per ripristinare lo stato originale del pool di nodi.
  3. Modifica e riavvia: se vuoi cambiare i parametri per l'aggiornamento del picco, il pool di nodi esistente deve essere eliminato e poi ricreato con le nuove impostazioni. Per istruzioni su come eliminare un pool di nodi, consulta Eliminare un pool di nodi.