Questo documento descrive come attivare e gestire gli aggiornamenti di picco dei pool di nodi. Per informazioni su come funzionano gli aggiornamenti di sovraccarico dei node pool, consulta Informazioni sugli aggiornamenti di sovraccarico.
Aspetti da considerare prima di eseguire gli aggiornamenti per i picchi di traffico
Prima di eseguire un aggiornamento per picco, tieni presente quanto segue:
- Le istanze aggiuntive create nell'ambito di questo passaggio di picco 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
max-unavailable-update
è impostato su 0, le interruzioni dei carichi di lavoro possono comunque verificarsi man mano che i pod vengono rimossi e riprogrammati sui nodi più recenti. - Il numero massimo di nodi che possono essere aggiornati contemporaneamente è uguale alla
somma di
max-surge-update
emax-unavailable-update
ed è limitato a 20.
Attivare e configurare gli aggiornamenti di picco
Per attivare gli aggiornamenti per i picchi di domanda, contatta l'Google Cloud assistenza. Dopo che il team di assistenza ha attivato la funzionalità, puoi assegnare valori ai parametri max-surge-update
e max-unavailable-update
quando crei o aggiorni il pool di nodi:
Crea
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
Aggiorna
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 actualizare.CLUSTER_NAME
: il nome del cluster.GOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il tuo cluster. Ad esempio:us-west1
.MAX_SURGE
: il 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 il numero di nodi che vengono aggiornati contemporaneamente. L'impostazione predefinita è 1, ma puoi impostarla su 0. Se impostimax-surge-update
su un valore maggiore di 0, GKE su AWS crea nodi di picco. Se imposti il valore su 0, ne impedisce la creazione.MAX_UNAVAILABLE
: il numero massimo di nodi che possono essere non disponibili contemporaneamente durante il processo di aggiornamento. Aumentando questo valore, è possibile aggiornare più nodi contemporaneamente. Il valore predefinito è 0, ma può essere modificato verso l'alto.
Controllare le impostazioni di aggiornamento per i picchi in un pool di nodi
Per visualizzare le impostazioni di aggiornamento di picco di un pool di nodi, esegui il seguente 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 pool di nodi.CLUSTER_NAME
: il nome del cluster.GOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il tuo cluster. Ad esempio:us-west1
.
Se per il pool di nodi sono abilitati gli aggiornamenti per picchi, l'output di questo comando visualizza una sezione denominata surge_settings
. Questa sezione surge_settings
mostra i valori dei parametri max_surge
e max_unavailable
.
Gestire gli aggiornamenti di picco in corso
Puoi annullare un aggiornamento di picco in corso, eseguire il rollback di un aggiornamento di picco che non è riuscito o riprendere un aggiornamento che è stato interrotto.
Annullare (mettere in pausa) e riprendere un aggiornamento relativo alle tariffe elevate
In GKE su AWS, "annullare" un aggiornamento di picco significa metterlo in pausa. Per maggiori dettagli su come annullare un aggiornamento, consulta Annullare un'operazione di aggiornamento.
In altre parole, l'annullamento di un aggiornamento per picco non ne rollback il precedente. Invece, potrebbe lasciare il pool di nodi in uno stato parzialmente aggiornato con due gruppi di scalabilità automatica: uno con i nodi che eseguono la configurazione precedente e uno con i nodi che eseguono la nuova configurazione. Per eliminare questo problema, riprendi l'aggiornamento di picco eseguendo di nuovo il comando di aggiornamento utilizzando gli stessi parametri target 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 sovraccarico non riuscito
Puoi rollback lo stato originale di un pool di nodi se un aggiornamento di picco è stato annullato o non è riuscito.
Aspetti da considerare prima di eseguire il rollback di un aggiornamento di Surge
- Puoi eseguire il rollback di un pool di nodi abilitato per l'aumento temporaneo che si trova in uno stato parzialmente aggiornato (o nello stato
DEGRADED
). - Una volta avviato un rollback in un pool di nodi, non puoi annullarlo.
- Non puoi eseguire altre operazioni di aggiornamento finché l'operazione di rollback non viene completata correttamente.
- Puoi riprovare un rollback solo se non va a buon fine.
- Non puoi eseguire il rollback dei node pool dopo che sono stati aggiornati correttamente.
Come eseguire il rollback di un aggiornamento di picco non riuscito
Per eseguire il rollback di un'operazione di aggiornamento non riuscita nel pool di nodi, esegui il seguente 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 actualizare.CLUSTER_NAME
: il nome del cluster.
Come funziona il rollback
L'avvio di un rollback internamente avvia una nuova operazione di aggiornamento nel pool di nodi. Per "internamente" si intende che questa procedura viene eseguita all'interno del sistema stesso e non richiede il tuo intervento. L'operazione ripristina i nodi del pool di nodi allo stato originale in base al criterio del massimo impegno.
I nodi appartenenti al vecchio gruppo di scalabilità automatica non sono più in isolamento e il gestore della scalabilità automatica del 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 messi in isolamento, svuotati e terminati in base alle impostazioni di picco che hai definito nel tentativo di aggiornamento del picco iniziale.
Gestire gli aggiornamenti di picco non riusciti
Hai tre opzioni per risolvere un aggiornamento non riuscito:
- Continuare l'aggiornamento: puoi procedere con l'aggiornamento non riuscito utilizzando le stesse impostazioni del pool di nodi di destinazione del tentativo iniziale non riuscito.
- Rollback: utilizza il comando di rollback per ripristinare il pool di nodi allo stato originale.
- Modifica e riavvia: se vuoi modificare i parametri per l'aggiornamento di picco, il pool di nodi esistente deve essere eliminato e poi ricreato con le nuove impostazioni. Per istruzioni su come eliminare un node pool, consulta Eliminare un node pool.