Informazioni sui canali di rilascio


Utilizza i canali di rilascio per Google Kubernetes Engine (GKE) per scegliere le versioni per i tuoi cluster con l'equilibrio scelto tra disponibilità e stabilità delle funzionalità.

GKE esegue automaticamente l'upgrade di tutti i cluster nel tempo, inclusi quelli non registrati in un canale di rilascio, per garantire che ricevano aggiornamenti della sicurezza, correzioni di problemi noti, nuove funzionalità ed eseguire una versione di Kubernetes supportata. Puoi controllare le tempistiche degli upgrade con periodi di manutenzione ed esclusioni.

Ti consigliamo di registrare il cluster in un canale di rilascio, poiché in questo modo ottieni il massimo controllo in merito all'ambito delle esclusioni dalla manutenzione, ossia impedire temporaneamente tipi specifici di upgrade anziché tutti gli upgrade, nonché la sequenza temporale dell'implementazione degli upgrade del cluster. I cluster Autopilot possono essere registrati solo in un canale di rilascio.

Se non registri il tuo cluster Standard in un canale di rilascio, puoi disabilitare gli upgrade automatici dei nodi per i pool di nodi selezionati e gestire manualmente gli upgrade per i nodi in questi pool di nodi. Tuttavia, viene eseguito automaticamente l'upgrade di tutti i piani di controllo di tutti i cluster e, quando una versione raggiunge la fine del ciclo di vita, l'upgrade dei piani e dei nodi viene eseguito automaticamente indipendentemente dalla registrazione al canale di rilascio. Per saperne di più, consulta Quando non registrare il cluster in un canale di rilascio.

Quali canali sono disponibili

La seguente tabella illustra le proprietà dei canali di rilascio disponibili, ognuno dei quali offre un compromesso tra la disponibilità delle funzionalità e il tasso di abbandono degli aggiornamenti. Tutti i canali offrono release supportate di GKE e sono considerati di disponibilità generale (GA), anche se le singole funzionalità potrebbero non essere sempre GA, come contrassegnate. Le release Kubernetes in questi canali sono release ufficiali di Kubernetes e includono le API Kubernetes in versione GA e beta.

Canale Disponibilità di nuove release di Kubernetes Quando utilizzare questo canale
Rapida Diverse settimane dopo GA open source upstream Ottieni la release più recente di Kubernetes il prima possibile per poter utilizzare le nuove funzionalità di GKE subito dopo il passaggio alla disponibilità generale. GKE esegue spesso l'upgrade del cluster per mantenere l'ultima versione disponibile della patch e offrire funzionalità Kubernetes più recenti. I cluster abbonati al canale rapido utilizzano le versioni GA, tuttavia consigliamo di utilizzare il canale rapido per testare versioni e API di Kubernetes più recenti in ambienti di pre-produzione.
Normale (impostazione predefinita) 2-3 mesi dopo il rilascio in Rapid Accedi alle funzionalità di GKE e Kubernetes in tempi ragionevolmente brevi dopo il passaggio alla GA, ma in una versione che è stata qualificata per un periodo di tempo più lungo. Offre un equilibrio tra disponibilità delle funzionalità e stabilità della release ed è l'opzione che consigliamo alla maggior parte degli utenti.
Stabile 2-3 mesi dopo la pubblicazione nel canale Normale Dai la priorità alla stabilità rispetto alle nuove funzionalità. GKE implementa le modifiche e le nuove versioni in questo canale per ultima, dopo la convalida sui canali Rapid e Regular, che lasciano ancora più tempo per la convalida.

Quando registri un cluster in un canale di rilascio, questo viene aggiornato automaticamente a partire dalla data specificata nella colonna Upgrade della pianificazione delle release di GKE.

Quando una versione ha accumulato utilizzo e stabilità tra i vari cluster nel canale rapido, viene promossa al canale regolare. Alla fine, la versione viene promossa sul canale stabile, che riceve solo aggiornamenti ad alta priorità. Ogni promozione indica un livello graduale di stabilità e preparazione alla produzione, in base alle prestazioni osservate dei cluster che eseguono quella versione.

Le patch di sicurezza critiche vengono distribuite a tutti i canali di rilascio per proteggere i tuoi cluster e l'infrastruttura di Google.

Quali versioni sono disponibili in un canale

Ogni canale di rilascio offre una versione predefinita, selezionata da un insieme di versioni disponibili per quel canale. Queste versioni soddisfano gli standard di idoneità per il canale specifico. Nel corso del tempo, GKE esegue automaticamente l'upgrade dei cluster alla versione predefinita.

  • Le nuove patch diventano disponibili almeno una settimana prima di diventare predefinite per tutti i canali.
  • Disponibili nuove uscite secondarie:
    • almeno due settimane prima di diventare l'impostazione predefinita per il canale rapido.
    • almeno quattro settimane prima di diventare predefinito per i canali Regolare e Stabile.

Puoi testare una nuova versione di GKE disponibile prima di eseguire l'upgrade dell'ambiente di produzione. Ad esempio, puoi iscriverti alle notifiche di upgrade per ricevere informazioni sulle nuove versioni disponibili, per poi eseguire l'upgrade di un ambiente di pre-produzione alla nuova versione prima che diventi quella predefinita.

Se devi mantenere un cluster su una versione specifica, ad esempio per convalidare o testare versioni più recenti prima dell'upgrade, ti consigliamo di utilizzare le esclusioni di manutenzione.

Per la versione 1.19 e successive, dopo che una versione secondaria è stata resa disponibile in un canale di rilascio, rimarrà disponibile nel canale di rilascio per i cluster nuovi o esistenti fino a quando non raggiunge la data di fine del ciclo di vita.

Visualizza le versioni predefinite e disponibili per i canali di rilascio

Per visualizzare le versioni predefinite e disponibili per i canali di rilascio, esegui questo comando, sostituendo COMPUTE_ZONE con la tua zona di computing:

gcloud container get-server-config --format "yaml(channels)" --zone COMPUTE_ZONE

Per visualizzare le versioni disponibili per i cluster non registrati in un canale di rilascio, esegui questo comando equivalente per i canali di rilascio, sostituendo "yaml(channels)" nel comando con "yaml(validMasterVersions)".

Cosa succede quando una nuova versione diventa predefinita in un canale di rilascio

Quando una nuova versione di GKE diventa predefinita in un canale di rilascio:

  • I nuovi cluster vengono creati utilizzando la nuova versione predefinita nel canale di rilascio selezionato.
  • I cluster idonei esistenti vengono aggiornati automaticamente entro 10 giorni dopo che una nuova versione diventa predefinita nel relativo canale di rilascio.

Se sono trascorsi 10 giorni da quando una nuova versione è diventata predefinita nel canale di rilascio e gli upgrade automatici non sono stati avviati per il cluster, il ritardo potrebbe essere dovuto a uno dei seguenti motivi:

  • Il cluster è temporaneamente non idoneo per gli upgrade automatici. Ciò può verificarsi perché:
    • Il cluster non rientra nel periodo di tempo di un periodo di manutenzione configurato.
    • Il cluster rientra nel periodo di tempo di un'esclusione di manutenzione.
    • Gli upgrade automatici sono messi in pausa perché il cluster utilizza funzionalità Kubernetes deprecate che vengono rimosse nella versione secondaria successiva.
    • È stato eseguito automaticamente l'upgrade del cluster a una versione patch meno di 24 ore fa.
    • È stato eseguito automaticamente l'upgrade del cluster a una versione secondaria meno di 30 giorni fa e la nuova versione predefinita è una nuova versione secondaria.
  • GKE ha sospeso l'implementazione della nuova versione predefinita per motivi tecnici o aziendali:
    • Sono stati rilevati problemi tecnici con la nuova versione.
    • Esiste un blocco della produzione a causa di una stagione aziendale critica, come il Black Friday.

Esegui versioni patch da un canale più recente

Oltre alle versioni disponibili elencate per un canale di rilascio, GKE offre un accesso limitato alle versioni patch dei canali di rilascio meno maturi. Un cluster registrato in un canale di rilascio può utilizzare versioni patch di un canale più recente se la versione secondaria nel canale più recente è uguale a quella secondaria disponibile nel canale di rilascio del cluster.

Ad esempio, se le seguenti versioni erano disponibili nei canali Rapida e Regolare:

  • Rapida: 1.23.2-gke.700, 1.22.4-gke.1500
  • Regolare: 1.21.4-gke.400, 1.22.1-gke.400

Un cluster registrato nel canale Normale che esegue GKE versione 1.22.1-gke.400 potrebbe eseguire l'upgrade a 1.22.4-gke.1500, ma non a 1.23.2-gke.700 poiché si tratta di una versione secondaria diversa.

Per eseguire l'upgrade a una versione patch su un canale più recente, il piano di controllo del cluster deve eseguire una release patch con la stessa versione secondaria. Ad esempio, se il cluster esegue 1.21.3-gke.200, devi prima eseguire l'upgrade del cluster a una versione della patch disponibile nel suo canale di rilascio attuale, 1.22.1-gke.400. Puoi quindi eseguire l'upgrade del cluster a 1.22.4-gke.1500.

Puoi anche creare un nuovo cluster che esegue 1.22.4-gke.1500 ed è registrato nel canale Regular.

Il cluster rimarrà nella versione patch del canale meno maturo fino a quando la versione predefinita del canale in cui è registrato il cluster non diventerà superiore a quella del cluster. A quel punto, verrà eseguito l'upgrade automatico del cluster alla versione predefinita.

Scoprire le novità di un canale

Per scoprire le novità di un canale di rilascio, consulta le note di rilascio. Sono disponibili note di rilascio separate per ogni canale di rilascio, oltre alle note di rilascio complessive.

Canale di rilascio Note di rilascio
Canale rapido HTML o Atom.
Canale regolare HTML o Atom.
Canale stabile HTML o Atom.

Scegli il canale di rilascio migliore per il tuo cluster

I canali includono solo le versioni GA di Kubernetes e ogni canale rappresenta un diverso livello di qualità e maturità delle release per Kubernetes e GKE. Il seguente diagramma illustra il ciclo di adozione per i canali di rilascio:

Ciclo di adozione dei canali di rilascio

Come mostrato in questo diagramma, i canali di rilascio disponibili utilizzano le versioni a metà del ciclo di adozione, tra cui Early adopter (canale rapido), Maggior parte (canale regolare) e maggioranza (canale stabile). La prima parte del ciclo di adozione è rappresentata dagli Innovators, che testano le funzionalità più recenti utilizzando la release upstream di Kubernetes. L'ultima parte del ciclo di adozione è la maggioranza tardiva, in cui stai utilizzando una versione che sta per essere ritirata e devi passare a una versione supportata.

Negli ambienti di pre-produzione, usa il canale rapido per le versioni più recenti, in cui puoi testare le funzionalità non appena diventano disponibili a livello generale.

Per i carichi di lavoro di produzione che richiedono la maturità rispetto a funzionalità più recenti, consigliamo di utilizzare il canale regolare (predefinito) o canale stabile.

  • Se hai bisogno di monitorare attentamente le nuove funzionalità, puoi utilizzare il canale Regular, che offre un equilibrio tra stabilità e aggiornamento della versione Kubernetes OSS.
  • Se il tuo requisito è la maturità, soprattutto per i cluster di produzione, utilizza il canale stabile.

GKE esegue l'upgrade dei cluster a una versione più recente che soddisfa gli standard di qualità del canale. Tuttavia, ti consigliamo di eseguire l'upgrade dei cluster in anticipo perché ti offre:

  • Migliore controllo sugli upgrade e allineamento con l'orario di lavoro.
  • Migliore prevedibilità perché GKE ignora l'upgrade automatico dei cluster che soddisfano il target di release (ovvero i cluster di cui è stato eseguito l'upgrade manuale alla versione di destinazione successiva). Viene eseguito automaticamente l'upgrade dei nodi alla versione consigliata nel canale selezionato per allinearsi alla versione del piano di controllo e proteggerti da vulnerabilità e disallineamento delle versioni non supportate.

Registra un cluster in un canale di rilascio

Questa sezione mostra come selezionare un canale di rilascio per i nuovi cluster o per i cluster esistenti che non utilizzavano in precedenza un canale di rilascio. Puoi anche cambiare il canale di rilascio per un cluster esistente già registrato in un canale di rilascio.

Questa modifica non richiede tempi di inattività. Tuttavia, poiché GKE potrebbe avere diversi upgrade automatici disponibili nel canale di rilascio, ti consigliamo di utilizzare periodi di manutenzione ed esclusioni per controllare le tempistiche degli upgrade.

Registra nuovi cluster

Puoi creare e registrare un nuovo cluster in un canale di rilascio utilizzando gcloud CLI o la console Google Cloud. Per impostazione predefinita, i nuovi cluster vengono registrati automaticamente nel canale di rilascio Normale.

Console

Per i cluster GKE Standard, puoi scegliere di specificare un canale diverso durante la creazione nella console Google Cloud.

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

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Nella sezione Standard, fai clic su Configura.

  4. In Versione del piano di controllo, l'opzione Canale di rilascio è selezionata per impostazione predefinita.

  5. Nell'elenco a discesa Canale di rilascio, seleziona un canale di rilascio in cui registrare il cluster oppure lascia il valore predefinito Canale regolare.

  6. Continua a creare il cluster come preferisci.

  7. Fai clic su Crea.

gcloud

Per creare e registrare un cluster Standard in un canale di rilascio specifico, esegui questo comando:

gcloud container clusters create CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --release-channel CHANNEL \
    ADDITIONAL_FLAGS

Per creare e registrare un cluster Autopilot in un canale di rilascio specifico, esegui questo comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION
    --release-channel CHANNEL \
    ADDITIONAL_FLAGS

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • Per i cluster a livello di regione, utilizza il flag --region COMPUTE_REGION e specifica la regione per il cluster.
  • Per i cluster di zona, utilizza il flag --region COMPUTE_ZONE e specifica la zona per il cluster.
  • CHANNEL: il tipo di canale di rilascio, uno tra rapid, regular o stable.
  • ADDITIONAL_FLAGS: qualsiasi altro flag da specificare durante la creazione del cluster. Per l'elenco completo dei flag facoltativi per i cluster standard, consulta la documentazione di gcloud container clusters create. Per l'elenco completo dei flag facoltativi per i cluster Autopilot, consulta la documentazione di gcloud container clusters create-auto.

Puoi anche creare un cluster con una versione specifica utilizzando il flag --cluster-version. Se non specifichi un canale di rilascio, GKE registra il cluster nel canale di rilascio più maturo in cui è disponibile la versione.

In alternativa, se non specifichi il canale di rilascio o la versione del cluster, per impostazione predefinita il cluster utilizzerà il canale di rilascio regular nella versione predefinita.

Registra i cluster esistenti

Puoi registrare un cluster esistente in un canale di rilascio, a condizione che la versione del piano di controllo del cluster sia disponibile nel canale di rilascio di destinazione. Per verificare se la versione del piano di controllo del cluster è disponibile nel canale di rilascio di destinazione, visualizza le versioni predefinite e disponibili per i canali di rilascio. Per scoprire di più su come allineare la versione del piano di controllo del cluster alle versioni disponibili per il canale di rilascio di destinazione, consulta Selezionare un nuovo canale di rilascio.

Per registrarti, aggiorna il canale di rilascio del cluster al valore CHANNEL di destinazione.

Trova il canale di rilascio del cluster

Puoi determinare il canale di rilascio del cluster utilizzando gcloud CLI o la console Google Cloud.

Console

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

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster che vuoi ispezionare.

  3. In Impostazioni di base del cluster, verifica il valore nel campo Canale di rilascio, ad esempio Canale regolare.

gcloud

gcloud container clusters describe CLUSTER_NAME \
    --zone COMPUTE_ZONE --format="value(releaseChannel.channel)"

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del tuo cluster.
  • COMPUTE_ZONE: la zona di computing per il cluster.

Modifica il canale di rilascio del cluster

Puoi modificare il canale di rilascio del cluster se la versione del piano di controllo è disponibile nel canale di rilascio di destinazione. Potresti dover eseguire l'upgrade o il downgrade del piano di controllo del cluster a una versione disponibile.

Per verificare se la versione del piano di controllo del cluster è disponibile nel canale di rilascio di destinazione, visualizza le versioni predefinite e disponibili per i canali di rilascio. La versione deve essere disponibile nel canale di destinazione.

  • Se la versione del piano di controllo del cluster è già disponibile nel canale di rilascio di destinazione, puoi selezionare il nuovo canale di rilascio.
  • Se la versione del piano di controllo del cluster non è disponibile nel canale di rilascio di destinazione, puoi eseguire l'upgrade del piano di controllo a una versione disponibile. In alternativa, se il canale di destinazione ha solo versioni precedenti, puoi eseguire il downgrade del cluster, a condizione che la versione di destinazione sia una release patch precedente dalla stessa versione secondaria.

Per selezionare un nuovo canale di rilascio, aggiorna il canale di rilascio del cluster sul valore CHANNEL di destinazione. Se vuoi impedire temporaneamente l'upgrade automatico del cluster quando selezioni il nuovo canale, configura un'esclusione della manutenzione prima di selezionare il nuovo canale.

Se non puoi selezionare il canale di rilascio di destinazione perché il tuo cluster esegue una versione non disponibile in quel canale di rilascio, puoi creare un nuovo cluster nel canale di destinazione ed eseguire la migrazione dei carichi di lavoro. In alternativa, se devi utilizzare il cluster esistente:

  1. Configura un'esclusione dalla manutenzione con l'ambito "Nessun upgrade secondario".
  2. Attendi che il canale di rilascio target renda disponibile la versione secondaria di Kubernetes del cluster.
  3. Registra il cluster esistente nel canale di rilascio di destinazione.

Aggiorna il canale di rilascio del cluster

Puoi modificare il canale di rilascio del cluster utilizzando gcloud CLI o la console Google Cloud.

Console

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

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster che vuoi ispezionare.

  3. In Impostazioni di base del cluster, nel campo Canale di rilascio, fai clic su .

  4. Nel menu a discesa Canale di rilascio, seleziona il canale di rilascio di destinazione.

  5. Leggi e conferma l'avviso selezionando Accetto le condizioni.

  6. Fai clic su Salva modifiche.

gcloud

Modifica la proprietà del canale di rilascio di un cluster esistente:

gcloud container clusters update CLUSTER_NAME \
  --release-channel CHANNEL

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del tuo cluster.
  • CHANNEL: il canale di rilascio target, che può essere rapid, regular, stable o None.

Quando non registrare il cluster in un canale di rilascio

Puoi scegliere di non registrare un cluster Standard in un canale di rilascio (noto come "nessun canale" e "statico"). A causa delle limitazioni con i cluster non registrati nei canali di rilascio, utilizza questa opzione solo se non è possibile eseguire l'upgrade automatico di alcuni pool di nodi. Devi invece eseguire l'upgrade manuale di questi nodi. Se il cluster non è registrato in un canale di rilascio, puoi disabilitare l'upgrade automatico dei nodi per i pool di nodi selezionati.

Se vuoi impedire temporaneamente gli upgrade automatici per l'intero cluster o tutti i suoi nodi, utilizza un'esclusione di manutenzione con il cluster registrato in un canale di rilascio. Con le esclusioni di manutenzione, puoi disabilitare temporaneamente gli upgrade automatici dei nodi per tutti i pool di nodi, mentre puoi disabilitare gli upgrade automatici dei nodi a livello di pool di nodi se il cluster non è registrato in un canale di rilascio.

Esamina la seguente tabella per comprendere le somiglianze e le differenze tra la registrazione e la non registrazione del cluster in un canale di rilascio:

Feature Cluster registrato in un canale di rilascio Cluster non registrato in un canale di rilascio
Comportamento upgrade condiviso
Tempistiche dell'upgrade In linea con il rispettivo canale di rilascio
  • Stessa data di inizio dell'upgrade automatico del canale stabile per le versioni secondarie e patch
  • Stesse versioni secondarie disponibili del canale regolare
  • Stesse versioni patch disponibili del canale Rapido per le versioni secondarie disponibili nel canale regolare
Controllo dell'interruzione del pool di nodi
Periodi di manutenzione Disponibile Disponibile
Esclusioni dalla manutenzione Ambiti di esclusione della manutenzione disponibili:
  • "Nessun upgrade" (30 giorni)
  • "Nessun upgrade secondario" (6 mesi)
  • "Nessun upgrade secondario o dei nodi" (6 mesi)
Limitato all'ambito "Nessun upgrade" (30 giorni)
Sequenza di implementazioni Disponibile con sequenze basate su parco risorse e ambito Non disponibile
Pilota automatico Disponibile Non disponibile

Annullare l'iscrizione a un canale di rilascio

Puoi annullare l'iscrizione del cluster Standard a un canale di rilascio utilizzando la console Google Cloud, gcloud CLI o l'API Kubernetes Engine. Puoi anche specificare che non vuoi registrare il cluster in un canale di rilascio durante la creazione del cluster.

Console

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

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster che vuoi ispezionare.

  3. In Impostazioni di base del cluster, nel campo Canale di rilascio, fai clic su .

  4. Seleziona il pulsante di opzione Versione statica.

  5. Leggi e conferma l'avviso selezionando Accetto le condizioni.

  6. Fai clic su Salva modifiche.

gcloud

Aggiorna il canale di rilascio del cluster a un valore pari a None:

gcloud container clusters update CLUSTER_NAME \
  --release-channel None

API

Specifica "releaseChannel": { "channel": UNSPECIFIED} quando crei o aggiorni un cluster.

Precisazioni

Tieni presente le seguenti avvertenze quando utilizzi i canali di rilascio.

Differenze tra cluster a canale rapido e cluster alpha

I cluster creati utilizzando il canale di rilascio rapido non sono cluster alpha. Ecco le differenze:

  • È possibile eseguire l'upgrade dei cluster che utilizzano canali di rilascio e l'upgrade automatico è abilitato e non può essere disabilitato. Impossibile eseguire l'upgrade dei cluster alpha.
  • I cluster che utilizzano canali di rilascio non hanno scadenza. I cluster alpha scadono dopo 30 giorni.
  • Le API Kubernetes alpha non sono abilitate sui cluster che utilizzano canali di rilascio.

Passaggi successivi