Upgrade di cluster Autopilot


Questa pagina descrive il funzionamento degli upgrade automatici sui cluster Google Kubernetes Engine (GKE) Autopilot, inclusi i link per ulteriori informazioni su attività e impostazioni correlate. Puoi utilizzare queste informazioni per mantenere i tuoi cluster aggiornati per stabilità e sicurezza con interruzioni minime dei tuoi workload.

Per una panoramica generale degli upgrade dei cluster, consulta Informazioni sugli upgrade dei cluster GKE. Per informazioni su come funzionano gli upgrade dei cluster specificamente per Standard, vedi Upgrade dei cluster Standard.

Upgrade automatici del control plane e dei nodi

Gli upgrade automatici sono abilitati su tutti i cluster Autopilot. GKE avvia gli upgrade automatici quando le versioni GKE vengono selezionate per l'upgrade automatico, osserva gli upgrade automatici in tutti i cluster e interviene in caso di problemi come nodi non integri. Non puoi disattivare gli upgrade automatici, ma puoi controllarne la tempistica con periodi di manutenzione ed esclusioni.

Per eseguire l'upgrade di un cluster, GKE aggiorna la versione in esecuzione sul control plane e sui nodi. I cluster vengono aggiornati a una versione secondaria più recente (ad esempio, da 1.24 a 1.25) o a una versione patch più recente (ad esempio, da 1.24.2-gke.100 a 1.24.5-gke.200). Per maggiori informazioni, consulta Controllo delle versioni e assistenza di GKE.

Tutti i cluster Autopilot sono registrati in un canale di rilascio, quindi GKE esegue automaticamente l'upgrade del control plane e dei nodi per eseguire la stessa versione di GKE.

GKE esegue l'upgrade del control plane di un cluster prima di eseguire l'upgrade dei nodi.

Upgrade automatici del control plane

Tutti i cluster Autopilot sono cluster regionali. I cluster regionali hanno più repliche del control plane e solo una replica viene sottoposta ad upgrade alla volta, in un ordine non definito. Ciò garantisce che il cluster rimanga a disponibilità elevata durante gli upgrade automatici. Ogni replica del control plane non è disponibile solo durante l'upgrade.

Se configuri un periodo di manutenzione o un'esclusione, GKE rispetta la configurazione, se possibile.

GKE non può creare nuovi nodi quando è in corso un upgrade del control plane. Se esegui il deployment di pod che richiedono nuovi tipi di nodi mentre è in corso un upgrade del piano di controllo, potresti riscontrare ritardi fino al completamento dell'upgrade del piano di controllo.

Upgrade automatici del nodo

Dopo che GKE esegue l'upgrade del control plane del cluster Autopilot, GKE esegue l'upgrade dei nodi alla stessa versione di GKE.

In Autopilot, GKE raggruppa i nodi che condividono caratteristiche simili. GKE utilizza gli upgrade di sovraccarico�� per i nodi Autopilot, eseguendo l'upgrade di un massimo di 20 nodi in un gruppo contemporaneamente. Il numero esatto di nodi sottoposti all'upgrade contemporaneamente varia per garantire la disponibilità elevata continua di nodi e carichi di lavoro.

Gli upgrade dei nodi potrebbero richiedere diverse ore a seconda del numero di nodi e della configurazione dei workload in esecuzione nei nodi. Ad esempio, le seguenti configurazioni potrebbero contribuire ad aggiornamenti più lunghi:

Se configuri un periodo di manutenzione o un'esclusione, GKE rispetta la configurazione, se possibile.

Quando GKE esegue l'upgrade di un nodo, si verificano i seguenti passaggi:

  1. GKE crea un nuovo nodo di picco con la nuova versione di GKE e attende che il nodo di picco si registri con il control plane.
  2. GKE seleziona un nodo esistente, il nodo di destinazione, da aggiornare.
  3. GKE isola il nodo di destinazione, impedendo il posizionamento di nuovi pod sul nodo di destinazione.
  4. GKE svuota il nodo di destinazione, rimuovendo i pod esistenti dal nodo di destinazione.
  5. GKE ripianifica i pod gestiti da un controller del workload su altri nodi disponibili. I pod che non possono essere riprogrammati rimangono nello stato PENDING finché GKE non può riprogrammarli.

  6. GKE elimina il nodo di destinazione.

Se un numero significativo di upgrade automatici a una versione specifica di GKE comporta nodi non integri nell'intera flotta GKE, GKE interrompe gli upgrade a quella versione mentre esaminiamo il problema.

Come vengono selezionate le versioni per l'upgrade automatico

GKE rilascia regolarmente nuove versioni secondarie, ma una versione rilasciata non viene selezionata immediatamente per gli upgrade automatici. Per essere idonea come destinazione dell'upgrade automatico, la versione di GKE deve accumulare un utilizzo sufficiente a dimostrare la stabilità nel tempo.

Google Cloud , quindi seleziona quella versione come target di upgrade automatico per i cluster che eseguono un sottoinsieme specifico di versioni GKE precedenti. Ad esempio, poco dopo la disponibilità di una nuova versione secondaria, la versione secondaria più vecchia in genere non è più supportata. GKE esegue l'upgrade dei cluster che eseguono versioni secondarie non supportate alla versione di destinazione dell'upgrade automatico.

GKE annuncia le nuove versioni di destinazione dell'upgrade automatico nelle note di rilascio. A volte, una versione viene selezionata per gli upgrade automatici del control plane e dei nodi in settimane diverse. GKE esegue automaticamente l'upgrade alle nuove release di patch all'interno di una versione secondaria (ad esempio v1.21.x). Per ottenere le destinazioni dell'upgrade automatico per un cluster specifico, consulta Ottenere informazioni sugli upgrade di un cluster.

Per informazioni sul ciclo di vita delle versioni e sullo schema di controllo delle versioni, consulta Controllo delle versioni e assistenza di GKE.

Fattori che influiscono sulle tempistiche di implementazione delle versioni

Per garantire la stabilità e l'affidabilità dei cluster nelle nuove versioni, GKE segue determinate pratiche durante l'implementazione delle versioni.

Queste pratiche includono, a titolo esemplificativo:

  • GKE implementa gradualmente le modifiche in tutte le regioni e le zone. Google Cloud
  • GKE implementa gradualmente le versioni patch nei canali di rilascio. Una patch viene sottoposta a un periodo di prova nel canale di rilascio rapido, poi nel canale di rilascio regolare, prima di essere promossa al canale di rilascio stabile una volta che ha accumulato utilizzo e ha continuato a dimostrare stabilità. Se viene rilevato un problema con una versione patch durante il periodo di test su un canale di rilascio, questa versione non viene promossa al canale successivo e il problema viene risolto in una versione patch più recente.
  • GKE implementa gradualmente le versioni secondarie, seguendo un processo di saturazione simile a quello delle versioni patch. Le versioni secondarie hanno periodi di test più lunghi perché introducono modifiche più significative.
  • GKE potrebbe ritardare gli upgrade automatici quando una nuova versione influisce su un gruppo di cluster. Ad esempio, GKE mette in pausa gli upgrade automatici per i cluster che rileva esposti a un'API o una funzionalità deprecata che verrà rimossa nella versione secondaria successiva.
  • GKE potrebbe ritardare l'implementazione di nuove versioni durante i periodi di punta (ad esempio, le festività principali) per garantire la continuità operativa.

Configurazione del momento in cui possono verificarsi gli upgrade automatici

Per impostazione predefinita, gli upgrade automatici possono essere eseguiti in qualsiasi momento. Gli upgrade automatici sono minimamente distruttivi, soprattutto per i cluster Autopilot. Tuttavia, alcuni carichi di lavoro potrebbero richiedere un controllo più granulare. Puoi configurare periodi di manutenzione ed esclusioni per gestire quando gli upgrade automatici possono e non devono essere eseguiti.

Se configuri periodi di manutenzione ed esclusioni, l'upgrade non viene eseguito finché l'ora corrente non rientra in un periodo di manutenzione. Se una periodo di manutenzione scade prima del completamento dell'upgrade, GKE tenta di sospendere l'upgrade. GKE riprende l'upgrade durante il successivo periodo di manutenzione disponibile.

Esegui l'upgrade manuale di un cluster Autopilot

Puoi eseguire manualmente l'upgrade della versione GKE del piano di controllo del cluster Autopilot. GKE esegue automaticamente l'upgrade dei nodi in modo che corrispondano alla versione del control plane il prima possibile, in base alla disponibilità della manutenzione. Per istruzioni, consulta Upgrade manuale del piano di controllo. Non puoi gestire manualmente la versione del nodo per i cluster Autopilot.

Puoi eseguire l'upgrade della versione del control plane a una versione secondaria o patch supportata nello stesso canale di rilascio oppure a una versione patch della stessa versione secondaria del tuo cluster in un canale di rilascio diverso.

Ad esempio, considera un cluster Autopilot che esegue GKE versione 1.22.8-gke.202 nel canale di rilascio regolare. Si applica il seguente comportamento:

  • Puoi eseguire l'upgrade a qualsiasi versione in Regolare.
  • Puoi eseguire l'upgrade a qualsiasi versione patch 1.22 nel canale rapido.

Per saperne di più sull'upgrade al di fuori del tuo canale, consulta Esecuzione di versioni patch da un canale più recente.

Upgrade di incremento

I cluster Autopilot utilizzano gli upgrade inattivi per eseguire l'upgrade di più nodi contemporaneamente. Gli upgrade inattivi consentono a GKE di ridurre l'impatto degli upgrade di versione sui carichi di lavoro in esecuzione mantenendo una capacità di calcolo sufficiente per i carichi di lavoro in esecuzione. Autopilot gestisce il numero di nodi di picco che vengono aggiunti al cluster durante l'upgrade. Questo numero varia in base alle dimensioni totali del cluster. GKE gestisce anche il numero totale di nodi di destinazione che possono essere contemporaneamente non disponibili durante l'upgrade.

Il numero di nuovi nodi di picco e di nodi di destinazione non disponibili varia per garantire che il cluster disponga sempre di capacità di calcolo sufficiente per tutti i carichi di lavoro in esecuzione. Potresti riscontrare piccole interruzioni man mano che GKE esegue la migrazione dei carichi di lavoro dai nodi di destinazione ai nodi di picco durante l'upgrade.

Per una descrizione di come avvengono gli upgrade in blocco, consulta Upgrade automatici dei nodi.

Requisiti di quota per gli upgrade di sovraccarico

A differenza della ricreazione dei nodi, gli upgrade di sovraccarico richiedono risorse Compute Engine aggiuntive. L'allocazione delle risorse dipende dalla quota di Compute Engine disponibile. A seconda della configurazione, questa quota può limitare il numero di upgrade paralleli o persino causare l'esito negativo dell'upgrade. Come best practice per evitare problemi di scalabilità e per aggiornamenti più prevedibili, assicurati che la quota di istanze Compute Engine non superi il 90%.

Per saperne di più sulle quote, consulta Garantire le risorse per gli upgrade dei nodi.

Ricevere notifiche di upgrade

GKE pubblica notifiche di upgrade su Pub/Sub, fornendoti un canale per ricevere informazioni da GKE sui tuoi cluster.

Per saperne di più, consulta la sezione Ricevere notifiche dei cluster.

Upgrade dei componenti

GKE esegue carichi di lavoro di sistema sui nodi worker per supportare funzionalità specifiche per i cluster. Ad esempio, il carico di lavoro del sistema gke-metadata-server supporta Workload Identity Federation for GKE. GKE è responsabile dell'integrità di questi carichi di lavoro. Per scoprire di più su questi componenti, consulta la documentazione relativa alle funzionalità associate.

Quando diventano disponibili nuove funzionalità o correzioni per un componente, GKE indica la versione patch in cui sono incluse. Per ottenere l'ultima versione di un componente, consulta la documentazione associata o le note di rilascio per istruzioni sull'upgrade del control plane o dei nodi alla versione appropriata.

Passaggi successivi