Upgrade automatico dei nodi


Questa pagina mostra come configurare gli upgrade automatici dei nodi in Google Kubernetes Engine (GKE).

Panoramica

Gli upgrade automatici dei nodi ti consentono di mantenere aggiornati i nodi nel tuo cluster con la versione del piano di controllo del cluster aggiornato per tuo conto. Quando crei un nuovo cluster o pool di nodi con la console Google Cloud oppure il comando gcloud, l'upgrade automatico dei nodi è abilitato per impostazione predefinita.

Puoi scoprire di più su upgrade di cluster e nodi.

Gli upgrade automatici dei nodi offrono diversi vantaggi:

  • Minore overhead per la gestione: non è necessario monitorare e aggiornare manualmente ai nodi quando viene eseguito l'upgrade del piano di controllo per tuo conto.
  • Maggiore sicurezza: a volte vengono rilasciati nuovi file binari per correggere un problema di sicurezza. problema. Con gli upgrade automatici, GKE garantisce automaticamente che gli aggiornamenti della sicurezza siano applicati e sempre aggiornati.
  • Facilità di utilizzo: offre un modo semplice per mantenere i nodi aggiornati con le funzionalità di Kubernetes più recenti.

I pool di nodi con upgrade automatici abilitati sono pianificati per gli upgrade quando soddisfano i criteri di selezione (annunciato nelle note di rilascio). Le implementazioni vengono suddivise in più settimane per garantire la stabilità del cluster e del parco risorse. Quando viene eseguito l'upgrade, i nodi vengono svuotati e creati di nuovo in modo che corrispondano l'attuale versione del piano di controllo. Le modifiche sul disco di avvio di una VM del nodo non vengono mantenuti tra le ricreazioni dei nodi. per mantenere le modifiche nel nodo ricreazione, usa un DaemonSet.

L'upgrade automatico dei nodi non è disponibile per i cluster alpha. Se utilizzi un cluster con i pool di nodi di Windows Server, Upgrade dei pool di nodi Windows Server prima di abilitare 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 Google 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 \
  --zone COMPUTE_ZONE

Sostituisci quanto segue:

  • NODE_POOL_NAME: il nome del pool di nodi.
  • CLUSTER_NAME: il nome del cluster che contiene il pool di nodi.
  • COMPUTE_ZONE: la zona di computing per il cluster.

Console

Per controllare lo stato dell'upgrade automatico per un pool di nodi, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster che vuoi visualizzare.

  3. Fai clic sulla scheda Nodi.

  4. In Pool di nodi, fai clic sul nome del pool di nodi che vuoi visualizzare.

  5. Visualizza il valore in Gestione della pagina Dettagli del pool di nodi. del campo Upgrade automatico.

Abilita gli upgrade automatici dei nodi per un pool di nodi esistente

Quando crei un nuovo cluster con la console Google Cloud o il comando gcloud, l'upgrade automatico dei nodi è abilitato per impostazione predefinita.

Puoi abilitare l'upgrade automatico dei nodi se attualmente è disabilitato.

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 \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Sostituisci quanto segue:

  • NODE_POOL_NAME: il nome del pool di nodi.
  • CLUSTER_NAME: il nome del cluster che contiene il pool di nodi.
  • COMPUTE_ZONE: la zona di computing per il cluster.

Console

Per abilitare gli upgrade automatici per un pool di nodi esistente, esegui la seguenti passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Fai clic sulla scheda Nodi.

  4. In Pool di nodi, fai clic sul nome del pool di nodi che vuoi modificare.

  5. Nella pagina Dettagli del pool di nodi, fai clic su Modifica.

  6. In Gestione, seleziona la casella di controllo Abilita upgrade automatico.

  7. Fai clic su Salva.

Per un maggiore controllo su quando può essere eseguito l'upgrade automatico dei nodi, valuta la possibilità di configurare periodi di manutenzione ed esclusioni.

Controlla 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:

gcloud container operations list

A ogni operazione sono assegnati un ID operazione, un tipo di operazione e le ore di inizio e di fine, il cluster di destinazione e lo stato. L'elenco appare simile a nell'esempio seguente:

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

Controlla le impostazioni di upgrade del pool di nodi

Puoi vedere i dettagli sulla strategia di upgrade dei nodi utilizzata per i tuoi pool di nodi utilizzando il comando gcloud container node-pools describe. Per gli upgrade blu/verde, il comando restituisce anche 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 attuali. Nell'esempio che segue mostra l'output se stai utilizzando 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 sua fase intermedia corrente. L'esempio seguente mostra il seguente aspetto:

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 consigliabile, puoi disabilitare l'upgrade automatico del nodo per un nodo esistente pool se il cluster sottostante non è registrato in una release di destinazione.

Considerazioni da fare prima di disabilitare gli upgrade automatici dei nodi

Se disabiliti gli upgrade automatici dei nodi per un pool di nodi, GKE non aggiornare la versione dei nodi. La disattivazione degli upgrade automatici dei nodi non blocca a GKE di eseguire l'upgrade del piano di controllo del cluster.

La disattivazione impedisce gli aggiornamenti della versione, ma non tutte le attività di manutenzione

La disabilitazione degli upgrade automatici dei nodi impedisce solo a GKE di aggiornare dei nodi, ma non impedisce a GKE di avviare di altre attività di manutenzione. Ad esempio, anche con gli upgrade automatici dei nodi disabilitati, che attiva la rotazione degli indirizzi IP, abilitazione dei criteri di rete o migrazione PSC su un il cluster ricrea tutti i nodi alla stessa versione del piano di controllo, della versione selezionata per il pool di nodi. Per controllare la tempistica della manutenzione, utilizzare i periodi di manutenzione esclusioni.

La disabilitazione è responsabile della compatibilità dei nodi del piano di controllo

Se disabiliti l'upgrade automatico dei nodi, sei responsabile di garantire che i nodi del cluster eseguono una versione compatibile con la versione del cluster La versione sia conforme ai criteri di supporto per i disallineamenti delle versioni e delle versioni di Kubernetes. A partire dalla versione 1.19 di GKE, GKE esegue l'upgrade dei nodi che eseguono una versione non supportata dopo che la versione ha raggiunto la fine del per garantire l'integrità del cluster e l'allineamento con i criteri di disallineamento delle versioni open source. È possibile che l'upgrade dei nodi che eseguono versioni non supportate non venga eseguito immediatamente della versione di Google Cloud e la tempistica effettiva possono variare a discrezione di Google.

La disattivazione non interrompe le operazioni in corso

La disabilitazione degli upgrade automatici dei nodi non comporta l'interruzione o l'annullamento di quelli in corso agli upgrade dei nodi nei pool di nodi. Per annullare o interrompere gli upgrade in corso, segui Annullamento di un upgrade dei nodi. L'annullamento di un upgrade dei nodi può essere utile nelle situazioni in cui trovi carichi di lavoro si verificano errori sui nodi di cui è stato eseguito l'upgrade e vuoi evitare ulteriori interruzioni.

Se l'upgrade è stato completato per l'intero pool di nodi, verrà non può essere riportato o annullato. Per eseguire il downgrade del pool di nodi, consulta downgrade nodo piscine.

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 \
    --zone COMPUTE_ZONE \
    --no-enable-autoupgrade

Console

Per disabilitare gli upgrade automatici per un pool di nodi esistente, segui questi passaggi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Fai clic sulla scheda Nodi.

  4. In Pool di nodi, fai clic sul nome del pool di nodi che vuoi modificare.

  5. Nella pagina Dettagli del pool di nodi, fai clic su Modifica.

  6. In Gestione, deseleziona la casella di controllo Abilita upgrade automatico.

  7. Fai clic su Salva per modificare il cluster.

Crea un cluster o un pool di nodi con gli upgrade automatici dei nodi abilitati

gcloud

Per creare un cluster con upgrade automatici abilitati per il pool di nodi predefinito, specifica il flag --enable-autoupgrade nel comando gcloud container clusters create:

gcloud container clusters create CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --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 \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Console

I cluster e i pool di nodi creati con la console Google Cloud gli upgrade automatici sono abilitati per impostazione predefinita. Consulta Creazione di un cluster o Aggiunta di un cluster e sulla gestione dei pool di nodi per istruzioni sulla creazione di cluster e pool di nodi.

Puoi disabilitare gli upgrade automatici per i nuovi pool di nodi. Dalla creazione del cluster fai clic sul nome del pool di nodi che vuoi modificare, quindi cancella Attiva l'upgrade automatico.

Ricevi notifiche di upgrade

GKE pubblica notifiche di upgrade Pub/Sub, che ti offre un canale ricevere informazioni da GKE sui cluster.

Per ulteriori informazioni, consulta Ricezione di notifiche di upgrade del cluster.

Modifica i parametri di upgrade di sovraccarico

Per saperne di più su come modificare i parametri di upgrade di sovraccarico, consulta Configurare gli upgrade di sovraccarico.

Controllo dell'allenamento durante l'upgrade di un pool di nodi

Durante gli upgrade automatici e quelli del pool di nodi avviati manualmente, puoi eseguire le azioni indicate di seguito.

Annulla un upgrade del pool di nodi

Puoi annullare un upgrade in qualsiasi momento. Per saperne di più su cosa succede quando per annullare un upgrade di incremento, consulta Annullare un upgrade di sovraccarico. Per scoprire di più su cosa succede quando annulli uno stato eseguire l'upgrade, consulta Annullare un upgrade blu/verde.

  1. Ottieni l'ID operazione dell'upgrade:

    gcloud container operations list
    
  2. Annulla l'upgrade:

    gcloud container operations cancel OPERATION_ID
    

Consulta le gcloud container operations cancel documentazione.

Riprendi l'upgrade del pool di nodi

Puoi riprendere un upgrade avviando manualmente l'upgrade di nuovo, specificando la versione di destinazione dell'upgrade originale.

Ad esempio, se hai messo in pausa un upgrade in corso alla versione 1.23.1-gke.100, potresti riprendere l'upgrade annullato avviando di nuovo lo stesso upgrade sul nodo pool, targeting versione 1.23.1-gke.100.

Per saperne di più su cosa succede quando riprendi un upgrade, consulta Riprendi un upgrade di sovraccarico e upgrade blu/verde.

Per riprendere un upgrade, utilizza il comando seguente:

    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 il quale vuoi riprendere l'upgrade del pool di nodi.
  • CLUSTER_NAME: il nome del cluster del pool di nodi per cui vuoi riprendere l'upgrade.
  • VERSION: la versione di destinazione del nodo annullato upgrade della piscina.

Per saperne di più, consulta gcloud container clusters upgrade documentazione.

Esegui il rollback di un upgrade del pool di nodi

Puoi eseguire il rollback di un pool di nodi per eseguire il downgrade dei nodi di cui è stato eseguito l'upgrade al pool originale precedente all'avvio dell'upgrade del pool di nodi.

Utilizza il comando rollback se un upgrade in corso è stato annullato. l'upgrade non è riuscito o è incompleto a causa di un periodo di manutenzione in timeout. In alternativa, se vuoi specificare la versione, segui le istruzioni per eseguire il downgrade del pool di nodi.

Per saperne di più su cosa succede quando esegui il rollback di un upgrade del pool di nodi, consulta Eseguire il rollback di un upgrade di sovraccarico oppure Esegui 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 il quale per eseguire il rollback dell'upgrade del pool di nodi.
  • CLUSTER_NAME: il nome del cluster del pool di nodi per cui eseguire il rollback dell'upgrade.

Consulta il gcloud container node-pools rollback documentazione.

Completa un upgrade del pool di nodi

Se utilizzi la strategia di upgrade blu/verde, puoi completare una l'upgrade del pool durante la fase di sospensione, di saltare il resto del tempo di sospensione.

Per scoprire come funziona l'upgrade di un pool di nodi, consulta Completare l'upgrade del pool di nodi.

Per completare un upgrade quando viene utilizzato l'upgrade blu/verde strategia, 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 il quale vuoi completare l'upgrade.
  • CLUSTER_NAME: il nome del cluster del nodo per il quale vuoi completare l'upgrade.

Consulta il gcloud container node-pools complete-upgrade documentazione.

Passaggi successivi