Questa pagina mostra come configurare gli upgrade automatici dei nodi in Google Kubernetes Engine (GKE).
Panoramica
Gli upgrade automatici dei nodi ti aiutano a mantenere i nodi nel tuo cluster aggiornati con la versione del control plane del cluster quando il control plane viene aggiornato per tuo conto.
Quando crei un nuovo cluster o pool di nodi con la console Trusted Cloud o con
il comando gcloud
, l'upgrade automatico dei nodi è abilitato per impostazione predefinita.
Puoi scoprire di più sugli upgrade di cluster e nodi.
Gli upgrade automatici dei nodi offrono diversi vantaggi:
- Overhead associato alla gestione ridotto: non è necessario monitorare e aggiornare manualmente i nodi quando l'upgrade del control plane viene eseguito per tuo conto.
- Maggiore sicurezza: a volte vengono rilasciati nuovi programmi binari per risolvere un problema di sicurezza. Con gli upgrade automatici, GKE garantisce automaticamente che gli aggiornamenti della sicurezza vengano applicati e mantenuti.
- Facilità d'uso: offre un modo semplice per mantenere i nodi aggiornati con le ultime funzionalità di Kubernetes.
I node pool con upgrade automatici abilitati sono pianificati per gli upgrade quando soddisfano i criteri di selezione (annunciati nelle note di rilascio). Le implementazioni vengono eseguite in più fasi nel corso di diverse settimane per garantire la stabilità del cluster e del parco risorse. Quando viene eseguito l'upgrade, i nodi vengono svuotati e ricreati in modo che corrispondano alla versione attuale del control plane. Le modifiche al disco di avvio di una VM del nodo non vengono mantenute nelle ricreazioni di nodi. Per mantenere le modifiche durante la ricreazione di nodi, utilizza un DaemonSet.
L'upgrade automatico dei nodi non è disponibile per i cluster alpha. Se utilizzi un cluster con node pool Windows Server, consulta Upgrade dei node pool Windows Server prima di attivare l'upgrade automatico dei nodi.
Controlla lo stato dell'upgrade automatico per un pool di nodi esistente
Puoi verificare se lƏupgrade automatico è abilitato o disabilitato per un pool di nodi utilizzando
la console Trusted Cloud o il comando gcloud
.
gcloud
Per controllare lo stato dell'upgrade automatico per un pool di nodi, esegui questo comando:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi.CLUSTER_NAME
: il nome del cluster che contiene ilpool di nodil.CONTROL_PLANE_LOCATION
: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
Cerca il campo autoUpgrade
nell'output per vedere se gli upgrade automatici
sono attivati o disattivati per ilpool di nodil.
management:
autoUpgrade: true
Console
Per controllare lo stato dell'upgrade automatico per un pool di nodi:
Vai alla pagina Google Kubernetes Engine nella console Trusted Cloud .
Nell'elenco dei cluster, fai clic sul nome del cluster che vuoi visualizzare.
Fai clic sulla scheda Nodi.
In Pool di nodi, fai clic sul nome del pool di nodi che vuoi visualizzare.
Nella pagina Dettagli del pool di nodi, nella sezione Gestione, visualizza il valore del campo Upgrade automatico.
Abilita gli upgrade automatici dei nodi per un pool di nodi esistente
Quando crei un nuovo cluster con la console Trusted Cloud o con il comando gcloud
,
l'upgrade automatico dei nodi è abilitato per impostazione predefinita.
Puoi abilitare l'upgrade automatico dei nodi se al momento è disattivato.
gcloud
Per abilitare gli upgrade automatici per un pool di nodi esistente, esegui questo comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--enable-autoupgrade
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi.CLUSTER_NAME
: il nome del cluster che contiene ilpool di nodil.CONTROL_PLANE_LOCATION
: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
Console
Per abilitare gli upgrade automatici per un pool di nodi esistente, segui questi passaggi:
Vai alla pagina Google Kubernetes Engine nella console Trusted Cloud .
Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.
Fai clic sulla scheda Nodi.
Nella sezione Pool di nodi, fai clic sul nome del pool di nodi che vuoi modificare.
Nella pagina Dettagli del pool di nodi, fai clic su edit Modifica.
In Gestione, seleziona la casella di controllo Abilita upgrade automatico.
Fai clic su Salva.
Per un maggiore controllo sul momento in cui è possibile eseguire l'upgrade automatico dei nodi, valuta la possibilità di configurare periodi di manutenzione ed esclusioni.
Controllare lo stato degli upgrade dei nodi
Puoi controllare lo stato di un upgrade utilizzando gcloud container operations
.
Visualizza un elenco di tutte le operazioni in esecuzione e completate nel cluster degli ultimi 12 giorni se le operazioni sono meno di 5000 o le ultime 5000 operazioni:
gcloud container operations list
A ogni operazione viene assegnato un ID operazione e un tipo di operazione, nonché ora di inizio e di fine, cluster di destinazione e stato. L'elenco ha un aspetto simile al seguente esempio:
NAME TYPE ZONE TARGET STATUS_MESSAGE STATUS START_TIME END_TIME
operation-1505407677851-8039e369 CREATE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT16:47:57.851933021Z 20xx-xx-xxT16:50:52.898305883Z
operation-1505500805136-e7c64af4 UPGRADE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT18:40:05.136739989Z 20xx-xx-xxT18:41:09.321483832Z
operation-1505500913918-5802c989 DELETE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT18:41:53.918825764Z 20xx-xx-xxT18:43:48.639506814Z
Per ottenere ulteriori informazioni su un'operazione specifica, specifica l'ID operazione come mostrato nel seguente comando:
gcloud container operations describe OPERATION_ID
Ad esempio:
gcloud container operations describe operation-1507325726639-981f0ed6
endTime: '20xx-xx-xxT21:40:05.324124385Z'
name: operation-1507325726639-981f0ed6
operationType: UPGRADE_CLUSTER
selfLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/operations/operation-1507325726639-981f0ed6
startTime: '20xx-xx-xxT21:35:26.639453776Z'
status: DONE
targetLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/clusters/...
zone: us-central1-a
Se l'upgrade è stato annullato o non è riuscito ed è stato completato parzialmente, puoi riprenderlo o eseguirne il rollback.
Controllare le impostazioni di upgrade del pool di nodi
Puoi visualizzare i dettagli sulla strategia di upgrade dei nodi utilizzata per i tuoi node pool
utilizzando il comando gcloud container node-pools
describe
. Per gli
upgrade blu/verde, il comando restituisce anche la fase
corrente
dell'upgrade.
Esegui questo comando:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi da descrivere.CLUSTER_NAME
: il nome del cluster del pool di nodi da descrivere.
Questo comando restituirà le impostazioni di upgrade correnti. L'esempio seguente mostra l'output se utilizzi la strategia di upgrade blu/verde.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Se utilizzi la strategia di upgrade blu/verde, l'output include anche dettagli sulle impostazioni di upgrade blu/verde e sulla relativa fase intermedia corrente. Il seguente esempio mostra come potrebbe apparire:
updateInfo:
blueGreenInfo:
blueInstanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{BLUE_INSTANCE_GROUP_NAME}
bluePoolDeletionStartTime: {BLUE_POOL_DELETION_TIME}
greenInstanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{GREEN_INSTANCE_GROUP_NAME}
greenPoolVersion: {GREEN_POOL_VERSION}
phase: DRAINING_BLUE_POOL
Disabilita gli upgrade automatici dei nodi
Sebbene non sia consigliato, puoi disabilitare l'upgrade automatico dei nodi per un node pool esistente se il cluster sottostante non è registrato in un canale di rilascio.
Considerazioni da fare prima di disattivare gli upgrade automatici dei nodi
Se disabiliti gli upgrade automatici dei nodi per un pool di nodi, GKE non aggiorna la versione dei nodi. La disattivazione degli upgrade automatici dei nodi non impedisce a GKE di eseguire l'upgrade del control plane del cluster.
La disattivazione impedisce gli aggiornamenti delle versioni, ma non tutte le attività di manutenzione
La disattivazione degli upgrade automatici dei nodi impedisce solo a GKE di aggiornare la versione dei nodi, ma non impedisce a GKE di avviare altre attività di manutenzione. Ad esempio, anche con gli upgrade automatici dei nodi disabilitati, l'attivazione della rotazione degli indirizzi IP, l'abilitazione dei criteri di rete o la migrazione PSC su un cluster ricrea tutti i nodi nella stessa versione del control plane, indipendentemente dalla versione selezionata per il pool di nodi. Per controllare i tempi della manutenzione, utilizza periodi di manutenzione ed esclusioni.
La disattivazione implica la responsabilità della compatibilità dei nodi del control plane
Se disabiliti l'upgrade automatico dei nodi per un pool di nodi, è tua responsabilità assicurarti che i nodi del cluster eseguano una versione compatibile con la versione del control plane del cluster, rispettando le norme relative al disallineamento delle versioni di GKE. La disattivazione degli upgrade automatici dei nodi impedisce l'upgrade dei pool di nodi fino alla fine del supporto standard. GKE esegue l'upgrade dei nodi che eseguono una versione non supportata dopo che la versione ha raggiunto la fine del supporto per garantire l'integrità del cluster.
Per informazioni dettagliate sulle tempistiche della fine del supporto, consulta il programma stimato per i canali di rilascio. I nodi che eseguono versioni non supportate potrebbero non essere sottoposti a upgrade immediatamente al termine del supporto della versione e la tempistica effettiva può variare a discrezione di Google.
La disattivazione non interrompe le operazioni in corso
La disattivazione degli upgrade automatici dei nodi non interrompe né annulla gli upgrade in corso ai nodi nei node pool. Per annullare o interrompere gli upgrade in corso, segui la procedura descritta in Annullamento di un upgrade del nodo. L'annullamento dell'upgrade di un nodo può essere utile in situazioni in cui i carichi di lavoro non riescono sui nodi sottoposti ad upgrade e vuoi evitare ulteriori interruzioni.
Se l'upgrade è stato completato per l'intero pool di nodi, non può essere eseguito il rollback o l'annullamento. Per eseguire il downgrade del pool di nodi, vedi Eseguire il downgrade dei node pool.
Disabilita gli upgrade automatici dei nodi per un pool di nodi esistente
gcloud
Per disabilitare gli upgrade automatici per un pool di nodi esistente, esegui questo comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--no-enable-autoupgrade
Console
Per disabilitare gli upgrade automatici per un pool di nodi esistente, segui questi passaggi:
Vai alla pagina Google Kubernetes Engine nella console Trusted Cloud .
Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.
Fai clic sulla scheda Nodi.
Nella sezione Pool di nodi, fai clic sul nome del pool di nodi che vuoi modificare.
Nella pagina Dettagli del pool di nodi, fai clic su edit Modifica.
In Gestione, deseleziona la casella di controllo Abilita upgrade automatico.
Fai clic su Salva per modificare il cluster.
Creare un cluster o pool di nodi con gli upgrade automatici dei nodi abilitati
gcloud
Per creare un cluster con gli upgrade automatici abilitati per il node pool predefinito,
specifica il flag --enable-autoupgrade
nel comando gcloud container clusters
create
:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--enable-autoupgrade
Per creare un pool di nodi con l'upgrade automatico abilitato, specifica il
flag --enable-autoupgrade
nel comando gcloud container node-pools create
:
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--enable-autoupgrade
Console
I cluster e i pool di nodi creati con la console Trusted Cloud hanno gli upgrade automatici abilitati per impostazione predefinita. Visita Creazione di un cluster o Aggiunta e gestione dei pool di nodi per istruzioni su come creare cluster e pool di nodi.
Puoi disabilitare gli upgrade automatici per i nuovi pool di nodi. Nella pagina di creazione del cluster, fai clic sul nome del pool di nodi da modificare, quindi deseleziona Attiva upgrade automatico.
Ricevere notifiche di upgrade
GKE pubblica notifiche di upgrade su Pub/Sub, fornendoti un canale per ricevere informazioni da GKE sui tuoi cluster.
Per ulteriori informazioni, vedi Ricezione di notifiche di upgrade dei cluster.
Modificare i parametri dell'upgrade di sovraccarico
Per scoprire di più sulla modifica dei parametri di upgrade di sovraccarico, consulta Configurare gli upgrade di sovraccarico.
Esercitare il controllo durante l'upgrade di un pool di nodi
Durante gli upgrade automatici e quelli avviati manualmente del pool di nodi, puoi intraprendere le seguenti azioni.
Annulla l'upgrade di un pool di nodi
Puoi annullare un upgrade in qualsiasi momento. Per scoprire di più su cosa succede quando annulli un upgrade di incremento, vedi Annullare un upgrade di incremento. Per scoprire di più su cosa succede quando annulli un upgrade blu/verde, vedi Annullare un upgrade blu/verde.
Recupera l'ID operazione dell'upgrade:
gcloud container operations list
Annulla l'upgrade:
gcloud container operations cancel OPERATION_ID
Consulta la
gcloud container operations cancel
documentazione.
Riprendi l'upgrade di un pool di nodi
Puoi riprendere un upgrade avviandolo manualmente di nuovo, specificando la versione di destinazione dell'upgrade originale.
Se, ad esempio, un upgrade non è riuscito o se hai messo in pausa un upgrade in corso, puoi riprendere l'upgrade annullato avviando di nuovo lo stesso upgrade nel pool di nodi, specificando la versione di destinazione dell'operazione di upgrade iniziale.
Per scoprire di più su cosa succede quando riprendi un upgrade, consulta Riprendere un upgrade di incremento e upgrade blu/verde.
Per riprendere un upgrade, utilizza il seguente comando:
gcloud container clusters upgrade CLUSTER_NAME \
--node-pool=NODE_POOL_NAME \
--cluster-version VERSION
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi per cui vuoi riprendere l'upgrade.CLUSTER_NAME
: il nome del cluster del pool di nodi per cui vuoi riprendere l'upgrade.VERSION
: la versione di destinazione dell'upgrade del pool di nodi annullato.
Per saperne di più, consulta la documentazione relativa a gcloud container clusters upgrade
.
Esegui il rollback dell'upgrade di un pool di nodi
Puoi eseguire il rollback di un pool di nodi per eseguire il downgrade dei nodi di cui è stato eseguito l'upgrade allo stato originale precedente all'inizio dell'upgrade delpool di nodil.
Utilizza il comando rollback
se un upgrade in corso è stato annullato,
l'upgrade non è riuscito o è incompleto a causa di un
intervallo di manutenzione
scaduto. In alternativa, se vuoi specificare la versione, segui le
istruzioni per eseguire il downgrade
del pool di nodi.
Per scoprire di più su cosa succede quando esegui il rollback di un upgrade del pool di nodi, consulta Eseguire il rollback di un upgrade di incremento o Eseguire il rollback di un upgrade blu/verde.
Per eseguire il rollback di un upgrade, esegui questo comando:
gcloud container node-pools rollback NODE_POOL_NAME \
--cluster CLUSTER_NAME
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi per cui eseguire il rollback dell'upgrade delpool di nodil.CLUSTER_NAME
: il nome del cluster del pool di nodi per cui eseguire il rollback dell'upgrade.
Consulta la documentazione
gcloud container node-pools rollback
.
Completa l'upgrade di un pool di nodi
Se utilizzi la strategia di upgrade blu/verde, puoi completare l'upgrade di un pool di nodi durante la fase di test, saltando il resto del tempo di test.
Per scoprire come funziona il completamento di un upgrade del pool di nodi, consulta Completa un pool di nodi pool.
Per completare un upgrade quando utilizzi la strategia di upgrade blu/verde, esegui questo comando:
gcloud container node-pools complete-upgrade NODE_POOL_NAME \
--cluster CLUSTER_NAME
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodi per cui vuoi completare l'upgrade.CLUSTER_NAME
: il nome del cluster del node pool per cui vuoi completare l'upgrade.
Consulta la documentazione
gcloud container node-pools complete-upgrade
.
Passaggi successivi
- Scopri di più sui node pool.
- Scopri di più sugli upgrade di cluster e node pool.
- Esegui l'upgrade manuale di un cluster o di un node pool.