Questa pagina illustra come funzionano gli upgrade automatici su Google Kubernetes Engine (GKE) Autopilot, con link a ulteriori informazioni e le relative impostazioni. Puoi utilizzare queste informazioni per mantenere aggiornati i tuoi cluster per garantire stabilità e sicurezza con interruzioni minime ai tuoi carichi di lavoro.
Upgrade automatici del piano di controllo 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 operativi. Non puoi disattivare gli upgrade automatici, ma puoi controllare la tempistica con periodi di manutenzione e esclusioni.
Per eseguire l'upgrade di un cluster, GKE aggiorna la versione del piano di controllo e nodi sono 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 ulteriori 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 piano di controllo e dei nodi 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 regionali. I cluster a livello di regione hanno più repliche del piano di controllo e viene eseguito l'upgrade di una sola replica alla volta, in un ordine indefinito. In questo modo, il cluster rimane altamente disponibile durante gli upgrade automatici. Ogni controllo la replica del piano non è disponibile solo mentre è in corso 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 piano di controllo. Se esegui il deployment di pod che richiedono nuovi tipi di nodi mentre un piano di controllo upgrade in corso, potrebbero verificarsi ritardi fino al momento L'upgrade è stato completato.
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 di GKE.
In Autopilot, GKE raggruppa i nodi che condividono caratteristiche simili. GKE utilizza gli upgrade di sovraccarico per 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 continua ad alta disponibilità di nodi e carichi di lavoro.
Gli upgrade dei nodi possono richiedere diverse ore a seconda del numero di nodi e dei carichi di lavoro in esecuzione nei nodi. Ad esempio, le seguenti configurazioni potrebbero contribuire a prolungare gli upgrade:
- Un valore elevato di
terminationGracePeriodSeconds
nella configurazione di un pod. - Un
PodDisruptionBudget
conservativo. - Interazioni di affinità dei nodi.
- Hai allegato
PersistentVolumes
.
Se configuri periodo di manutenzione o esclusione, GKE rispetta la configurazione, se possibile.
Quando GKE esegue l'upgrade di un nodo, si verificano i seguenti passaggi:
- GKE crea un nuovo nodo Surge con GKE e attende che il nodo di picco venga registrato con dal piano di controllo.
- GKE seleziona un nodo esistente, il nodo di destinazione, per l'upgrade.
- GKE contrassegna il nodo di destinazione come non pianificabile, impedendo ai nuovi pod di essere posizionati sul nodo target.
- GKE scarica il nodo target, eliminando i pod esistenti
nodo target.
PodDisruptionBudget
viene rispettato per 1 ora.terminationGracePeriodSeconds
è limitato a 10 minuti (600 secondi) per la maggior parte dei pod, ad eccezione Pod Spot, che sono limitati a 25 secondi.
GKE ripianifica i pod gestiti da una controller del carico di lavoro ad altri nodi disponibili. I pod che non possono essere ripianificati rimangono in
PENDING
fino a quando GKE non potrà riprogrammarli.GKE elimina il nodo target.
Se un numero significativo di upgrade automatici a una versione GKE specifica 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 sia selezionato immediatamente per gli upgrade automatici. Per l'idoneità come upgrade automatico target, la versione GKE deve accumulare un utilizzo sufficiente per dimostrare stabile nel tempo.
Google Cloud seleziona quindi la versione come destinazione dell'upgrade automatico per i cluster che eseguono un sottoinsieme specifico di versioni GKE precedenti. Ad esempio: subito dopo che diventa disponibile una nuova versione secondaria, la meno recente disponibile versione in genere non è più supportato. GKE esegue l'upgrade dei cluster che eseguono versioni secondarie non supportate alla versione di destinazione dell'upgrade automatico.
GKE annuncia nuove versioni di destinazione degli upgrade automatici nella release note. A volte, una versione viene selezionata per gli upgrade automatici del piano di controllo e dei nodi in settimane diverse. GKE esegue automaticamente l'upgrade alle nuove release delle patch (ad esempio v1.21.x). Per ottenere i target di 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 influenzano i tempi di implementazione della versione
Per garantire la stabilità e l'affidabilità dei cluster sulle nuove versioni, GKE segue determinate pratiche durante l'implementazione delle versioni.
Queste pratiche includono, a titolo esemplificativo:
- GKE implementa gradualmente le modifiche in Google Cloud regioni e zone.
- GKE implementa gradualmente le versioni delle patch nei canali di rilascio. A una patch viene assegnato un tempo di attesa nel canale di rilascio rapido, quindi nel canale di rilascio regolare, prima di essere promossa al canale di rilascio stabile dopo aver accumulato utilizzo e aver continuato a dimostrare stabilità. Se un problema è trovata con una versione patch durante il tempo di sospensione su un canale di rilascio, la versione non viene promossa al canale successivo e il problema è stato risolto su una versione patch.
- GKE implementa gradualmente le versioni secondarie, seguendo un processo di sospensione simile alle versioni patch. Le versioni minori hanno periodi di attesa più lunghi in quanto 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 essere esposti a un'API o a una funzionalità non più supportata che verrà rimossa nella versione secondaria successiva.
- GKE potrebbe ritardare l'implementazione delle nuove versioni durante i periodi di picco (ad esempio le festività principali) per garantire la continuità aziendale.
Configurare il momento in cui possono essere eseguiti gli upgrade automatici
Per impostazione predefinita, gli upgrade automatici possono avvenire in qualsiasi momento. Gli upgrade automatici sono minimi e invasivi, 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 è possibile e non è possibile eseguire gli upgrade automatici.
Se configuri periodi di manutenzione ed esclusioni, l'upgrade avrà luogo solo all'inizio di un'operazione di manutenzione finestra. Se una finestra 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 l'upgrade manuale di un cluster Autopilot
Puoi eseguire manualmente l'upgrade della versione GKE dal piano di controllo del cluster Autopilot. GKE è in esecuzione esegui l'upgrade dei nodi affinché corrispondano il prima possibile alla versione del piano di controllo, soggetto a manutenzione la disponibilità del servizio. Per le istruzioni, consulta Eseguire l'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 della patch supportata nello stesso canale di rilascio o in una versione patch della stessa versione secondaria di il tuo cluster in un altro canale di rilascio.
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 nella versione normale.
- Puoi eseguire l'upgrade a qualsiasi versione con patch della 1.22 nel canale Rapid.
Per saperne di più sull'upgrade al di fuori del tuo canale, consulta Eseguire le versioni con patch da un canale più recente.
Upgrade di Surge
I cluster Autopilot utilizzano gli upgrade di incremento per eseguire l'upgrade di più nodi contemporaneamente. Gli upgrade di picco consentono a GKE di ridurre l'impatto degli upgrade delle versioni 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 aggiunti al cluster durante l'upgrade. Il numero varia in base alla dimensione totale 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 in modo che il cluster abbia sempre una capacità di calcolo sufficiente per tutti i carichi di lavoro in esecuzione. Potresti riscontrare interruzioni minime durante la migrazione dei carichi di lavoro di GKE dai nodi target ai nodi di picco durante l'upgrade.
Per una descrizione di come si verificano gli upgrade per picco, consulta Upgrade automatici dei nodi.
Requisiti di quota per gli upgrade di sovraccarico
A differenza della ricreazione dei nodi, gli upgrade di sovraccarico richiedono Compute Engine aggiuntivo Google Cloud. L'allocazione delle risorse dipende dalla disponibilità Quota di Compute Engine. A seconda della configurazione, questa quota può limitare il numero di upgrade paralleli o addirittura causare il fallimento dell'upgrade. È buona prassi evitare problemi di scalabilità e per più prevedibili, assicurati che la quota di istanza Compute Engine non superi il 90%.
Per ulteriori informazioni sulla quota, consulta Garantire le risorse per gli upgrade dei nodi.
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 la sezione Ricevere notifiche del cluster.
Upgrade dei componenti
GKE esegue carichi di lavoro di sistema sui nodi worker per supportare
per i cluster. Ad esempio, il sistema gke-metadata-server
per i carichi di lavoro
Federazione delle identità dei carichi di lavoro per 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 nuove funzionalità o correzioni diventano disponibili per un componente, indica la versione 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 su come eseguire l'upgrade del piano di controllo o dei nodi alla versione appropriata.
Passaggi successivi
- Configura periodi di manutenzione ed esclusioni.
- Scopri come gestire gli upgrade automatici dei cluster in diversi ambienti con una sequenza di implementazione.
- Guarda Upgrade dei cluster GKE: best practice per garantire la stabilità, la sicurezza e le prestazioni dei cluster GKE