Upgrade di cluster Autopilot


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

Upgrade automatici di piani di controllo e nodi

Gli upgrade automatici sono abilitati su tutti i cluster Autopilot. GKE avvia gli upgrade automatici quando le versioni di 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.

Per eseguire l'upgrade di un cluster, GKE aggiorna la versione del piano di controllo e dei nodi in esecuzione. Viene eseguito l'upgrade dei cluster 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 saperne di più, vedi 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 piano di controllo e dei nodi per eseguire la stessa versione di GKE.

GKE esegue l'upgrade del piano di controllo di un cluster prima di eseguire l'upgrade dei nodi.

Upgrade automatici del piano di controllo

Tutti i cluster Autopilot sono cluster a livello di regione. I cluster a livello di regione hanno più repliche del piano di controllo di cui viene eseguito l'upgrade di una sola replica alla volta, in ordine non definito. Ciò garantisce che il cluster rimanga ad alta disponibilità durante gli upgrade automatici. Ogni replica del piano di controllo 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 l'upgrade del piano di controllo sia in Autopilot che in Standard. Se esegui il deployment di pod Autopilot che richiedono nuovi tipi di nodi mentre è in corso l'upgrade di un piano di controllo, potresti riscontrare ritardi fino al completamento dell'upgrade del piano di controllo.

Upgrade automatici del nodo

Dopo che GKE ha eseguito l'upgrade del piano di controllo del cluster Autopilot, GKE esegue l'upgrade dei nodi alla stessa versione GKE.

In Autopilot, GKE raggruppa i nodi che condividono caratteristiche simili. GKE utilizza gli upgrade di picco per i nodi Autopilot, eseguendo l'upgrade di un massimo di 20 nodi in un gruppo contemporaneamente. Il numero esatto di nodi di cui viene eseguito l'upgrade contemporaneamente varia per garantire un'alta disponibilità 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 carichi di lavoro in esecuzione nei nodi. Ad esempio, le seguenti configurazioni potrebbero contribuire ad upgrade 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 la registrazione del nodo nel piano di controllo.
  2. GKE seleziona un nodo esistente, il nodo target, di cui eseguire l'upgrade.
  3. GKE contrassegna il nodo di destinazione come non pianificabile, impedendo il posizionamento di nuovi pod sul nodo di destinazione.
  4. GKE scarica il nodo di destinazione, rimuovendo i pod esistenti da quello.
  5. GKE ripianifica i pod gestiti da un controller del carico di lavoro su altri nodi disponibili. I pod che non possono essere ripianificati rimangono in stato PENDING fino a quando GKE non potrà ripianificarli.

  6. GKE elimina il nodo di destinazione.

Se un numero significativo di upgrade automatici a una specifica versione di GKE genera nodi non integri nel parco risorse GKE, GKE interrompe gli upgrade a quella versione mentre analizziamo 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 considerata un target dell'upgrade automatico, la versione GKE deve accumulare un utilizzo sufficiente per dimostrare la stabilità nel tempo.

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

GKE annuncia nuove versioni di destinazione di upgrade automatico nelle note di rilascio. Occasionalmente, viene selezionata una versione per gli upgrade automatici del piano di controllo e degli upgrade automatici dei nodi in settimane diverse. GKE esegue automaticamente l'upgrade alle nuove release di patch in una versione secondaria (come v1.21.x).

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

Fattori che influiscono sulle tempistiche di implementazione della versione

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

Queste pratiche includono, a titolo esemplificativo:

  • GKE implementa gradualmente le modifiche nelle regioni e nelle zone di Google Cloud.
  • GKE implementa gradualmente le versioni patch nei canali di rilascio. Una patch viene assegnata al canale di rilascio rapido e poi nel canale di rilascio regolare, prima di essere promossa sul canale di rilascio stabile dopo che ha accumulato un utilizzo e continuato a dimostrare stabilità. Se viene rilevato un problema con una versione patch durante il periodo di attesa su un canale di rilascio, la versione non viene promossa al canale successivo e il problema viene risolto in una versione della patch più recente.
  • GKE implementa gradualmente le versioni secondarie, seguendo un processo simile per le versioni con patch. Le versioni secondarie hanno periodi di attesa più lunghi perché introducono modifiche più significative.
  • GKE può 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 sono esposti a un'API o una funzionalità deprecata che verrà rimossa nella versione secondaria successiva.
  • GKE potrebbe ritardare l'implementazione delle nuove versioni durante i periodi di picco (ad es. durante le festività più importanti) per garantire la continuità aziendale.

Configurazione dei casi in cui possono essere eseguiti upgrade automatici

Per impostazione predefinita, gli upgrade automatici possono essere effettuati in qualsiasi momento. Gli upgrade automatici causano interruzione minima, in particolare per i cluster Autopilot. Tuttavia, alcuni carichi di lavoro potrebbero richiedere un controllo più granulare. Puoi configurare periodi di manutenzione ed esclusioni per gestire i casi in cui possono e non devono essere eseguiti gli upgrade automatici.

Se configuri periodi di manutenzione ed esclusioni, l'upgrade non verrà eseguito fino a quando l'ora attuale non rientra nel periodo di manutenzione. Se un periodo di manutenzione scade prima del completamento dell'upgrade, GKE tenta di metterlo in pausa. GKE riprende l'upgrade durante il successivo periodo di manutenzione disponibile.

Esegui manualmente l'upgrade 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 corrisponda alla versione del piano di controllo il prima possibile, in base alla disponibilità della manutenzione. Per le 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 piano di controllo a una versione secondaria o patch supportata nello stesso canale di rilascio oppure a una versione patch della stessa versione secondaria del 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 Normale.
  • Puoi eseguire l'upgrade a qualsiasi versione patch di 1.22 nel canale Rapido.

Per saperne di più sull'upgrade all'esterno del canale, consulta la pagina Esecuzione di versioni patch da un canale più recente.

Upgrade di Surge

I cluster Autopilot utilizzano gli upgrade di picco per eseguire l'upgrade di più nodi contemporaneamente. Gli upgrade di Surge consentono a GKE di ridurre il livello di interruzione degli upgrade delle versioni per i 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 inoltre il numero totale di nodi di destinazione che possono non essere disponibili contemporaneamente durante l'upgrade.

Il numero di nuovi nodi di picco e di nodi di destinazione non disponibili varia per garantire che il cluster abbia sempre una capacità di calcolo sufficiente per tutti i carichi di lavoro in esecuzione. Potresti riscontrare interruzioni di minore entità durante l'upgrade, mentre GKE esegue la migrazione dei carichi di lavoro dai nodi di destinazione ai nodi surge.

Per una descrizione di come vengono eseguiti gli upgrade di picco, consulta Upgrade automatici del nodo.

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 addirittura causare la mancata riuscita dell'upgrade. Come buona prassi per evitare problemi di scalabilità e per upgrade più prevedibili, assicurati che la quota delle istanze Compute Engine non superi il 90%.

Per ulteriori informazioni sulla quota, consulta Garantire le risorse per gli upgrade dei nodi.

Ricevere notifiche relative agli upgrade

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

Per ulteriori informazioni, consulta Ricezione di notifiche relative al 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 la federazione delle identità per i carichi di lavoro per GKE. GKE è responsabile dell'integrità di questi carichi di lavoro. Per saperne di più su questi componenti, consulta la documentazione delle funzionalità associate.

Quando sono disponibili nuove funzionalità o correzioni per un componente, GKE indica la versione della patch in cui sono incluse. Per ottenere la versione più recente di un componente, consulta la documentazione associata o le note di rilascio per istruzioni sull'upgrade del piano di controllo o dei nodi alla versione appropriata.

Passaggi successivi