Informazioni sui canali di rilascio


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

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 esecuzione di 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, per avere il massimo controllo sull'ambito delle esclusioni di manutenzione, evitando temporaneamente tipi specifici di upgrade anziché tutti gli upgrade e la sequenza dell'implementazione degli upgrade dei 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 ai nodi in questi pool di nodi. Tuttavia, viene eseguito l'upgrade automatico di tutti i piani di controllo dei cluster e quando una versione raggiunge la fine del ciclo di vita, viene eseguito l'upgrade automatico dei piani di controllo e dei nodi del cluster indipendentemente dalla registrazione del canale di rilascio. Per ulteriori informazioni, scopri 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, ciascuno dei quali offre un compromesso tra la disponibilità delle funzionalità e il tasso di abbandono degli aggiornamenti. Tutti i canali offrono release di GKE supportate e sono considerati in disponibilità generale (GA), anche se le singole funzionalità potrebbero non essere sempre GA, come indicato. Le release di Kubernetes in questi canali sono release ufficiali di Kubernetes e includono API Kubernetes sia GA che beta.

Canale Disponibilità della nuova release Kubernetes Quando utilizzare questo canale
Rapido Diverse settimane dopo la GA open source upstream Ottieni la release più recente di Kubernetes il prima possibile per poter utilizzare le nuove funzionalità GKE nel momento in cui diventano disponibili in disponibilità generale. GKE esegue spesso l'upgrade del cluster per mantenere l'ultima versione della patch disponibile e fornire nuove funzionalità di Kubernetes. I cluster abbonati al canale rapido utilizzano le versioni GA, ma consigliamo di utilizzare il canale rapido per testare le nuove versioni e API di Kubernetes su ambienti di pre-produzione.
Normale (opzione predefinita) 2-3 mesi dopo il rilascio in Rapid Accedi alle funzionalità GKE e Kubernetes ragionevolmente presto dopo il passaggio alla disponibilità generale, ma su una versione che è stata qualificata per un periodo di tempo più lungo. Offre un equilibrio tra disponibilità delle funzionalità e stabilità di rilascio ed è ciò che consigliamo alla maggior parte degli utenti.
Stabile 2-3 mesi dopo il rilascio nella versione regolare Dai la priorità alla stabilità rispetto alle nuove funzionalità. GKE introduce modifiche e nuove versioni in questo canale per ultimo, dopo essere stato convalidato sui canali Rapido e Regolare, che consente ancora più tempo per la convalida.

Quando registri un cluster in un canale di rilascio, l'upgrade del cluster viene eseguito automaticamente nella data specificata nella data specificata nella colonna Upgrade della pianificazione delle release di GKE o in una data successiva.

Quando una versione ha accumulato utilizzo e ha dimostrato stabilità nei vari cluster nel canale rapido, viene promossa a canale regolare. Alla fine, la versione viene promossa al canale Stabile, che riceve solo aggiornamenti ad alta priorità. Ogni promozione segnala un livello graduale di stabilità e idoneità alla produzione, in base alle prestazioni osservate dei cluster che eseguono quella versione.

Le patch di sicurezza critiche vengono distribuite in tutti i canali di rilascio per proteggere i 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 hanno soddisfatto gli standard di idoneità per il canale specifico. Nel 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.
  • Sono disponibili nuove uscite minori:
    • almeno due settimane prima di diventare predefinita per il canale rapido.
    • almeno quattro settimane prima che diventino predefiniti per i canali Normali e Stabili.

Puoi testare una versione GKE appena 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, quindi eseguire in modo proattivo l'upgrade di un ambiente di pre-produzione alla nuova versione prima che diventi la versione predefinita.

Se hai bisogno di 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 le versioni 1.19 e successive, dopo che una versione secondaria è stata resa disponibile in un canale di rilascio, rimarrà disponibile in quel canale per i cluster nuovi o esistenti fino alla data di fine del ciclo di vita.

Visualizzare 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 GKE diventa predefinita in un canale di rilascio:

  • I nuovi cluster vengono creati utilizzando la nuova versione predefinita nel canale di rilascio selezionato.
  • L'upgrade dei cluster idonei esistenti viene eseguito automaticamente entro 10 giorni dal momento in cui una nuova versione diventa predefinita nel suo canale di rilascio.

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

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

Esegui le versioni delle patch da un canale più recente

Oltre alle versioni patch disponibili elencate per un canale di rilascio, puoi eseguire versioni patch da canali di rilascio più recenti rispetto a quello in cui è registrato il cluster se la versione secondaria è disponibile nel canale di rilascio del cluster.

Ad esempio, se le seguenti versioni erano disponibili nei canali Rapido e Normale:

  • Rapido: 1.23.2-gke.700, 1.22.4-gke.1500
  • Normale: 1.21.4-gke.400, 1.22.1-gke.400

Un cluster registrato nel canale Regular 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 perché si tratta di una versione secondaria diversa.

Per eseguire l'upgrade a una versione della patch su un canale più recente, il piano di controllo del cluster deve eseguire una release di patch con la stessa versione secondaria. Ad esempio, se il cluster esegue la versione 1.21.3-gke.200, devi prima eseguire l'upgrade del cluster a una versione di patch disponibile nel 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 esegua 1.22.4-gke.1500 e sia registrato nel canale Regular.

Il cluster rimarrà nella versione patch del canale più recente finché la versione predefinita del canale in cui è registrato il cluster non diventa superiore alla versione del cluster. In quel momento, 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 presenti note di rilascio separate per ogni canale di rilascio, oltre alle note di rilascio generali.

Canale di rilascio Note di rilascio
Canale rapido HTML o Atom feed.
Canale normale HTML o Atom feed.
Canale stabile HTML o Atom feed.

Scegli il canale di rilascio migliore per il tuo cluster

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

Ciclo di adozione dei canali di rilascio

Come mostra questo diagramma, i canali di rilascio disponibili utilizzano le versioni a metà del ciclo di adozione, tra cui Utenti iniziali (canale rapido), maggioranza precoce (canale regolare) e maggioranza (canale stabile). La prima parte del ciclo di adozione è quella degli Innovatori, che testano le funzionalità più recenti utilizzando la release upstream di Kubernetes. L'ultima parte del ciclo di adozione è la tarda maggioranza, in cui stai utilizzando una versione che sta per essere ritirata e devi passare a una versione supportata.

Nei tuoi ambienti di pre-produzione, utilizza il canale rapido per le versioni più recenti, in cui puoi testare le funzionalità non appena sono in disponibilità generale.

Per i carichi di lavoro di produzione che richiedono un livello di maturità diverso da funzionalità più recenti, consigliamo di utilizzare il canale regolare (predefinito) o il canale stabile.

  • Se hai bisogno di monitorare attentamente le nuove funzionalità, valuta l'utilizzo del canale Normale, che offre un equilibrio tra stabilità e aggiornamento della versione di Kubernetes OSS.
  • Se il tuo requisito è la maturità, in particolare 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é in questo modo avrai:

  • Migliore controllo sugli upgrade e allineamento con l'orario di lavoro.
  • Maggiore prevedibilità perché GKE ignora i cluster con upgrade automatico che soddisfano il target di rilascio (ovvero i cluster di cui è stato eseguito l'upgrade manuale alla versione target successiva). Viene eseguito l'upgrade automatico 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 in precedenza non utilizzavano un canale di rilascio. Puoi anche modificare il canale di rilascio per un cluster esistente già registrato in un canale di rilascio.

Questa modifica non richiede tempi di inattività. Tuttavia, poiché per GKE potrebbero essere disponibili upgrade automatici diversi nel canale di rilascio, 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 o 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: 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 gcloud container clusters create. Per l'elenco completo dei flag facoltativi per i cluster Autopilot, consulta la documentazione 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, il cluster utilizzerà per impostazione predefinita 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ù sull'allineamento della versione del piano di controllo del cluster con le 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 CHANNEL di destinazione.

Trovare 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 da ispezionare.

  3. In Impostazioni di base del cluster, controlla 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.

Cambiare 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 del cluster a una versione disponibile. In alternativa, se nel canale di destinazione sono disponibili solo versioni precedenti, puoi eseguire il downgrade del cluster, a condizione che la versione di destinazione sia una release patch precedente della stessa versione secondaria.

Per selezionare un nuovo canale di rilascio, aggiorna il canale di rilascio del cluster impostandolo su CHANNEL di destinazione. Se vuoi impedire temporaneamente l'upgrade automatico del cluster quando selezioni il nuovo canale, configura un'esclusione di 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, 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, segui questi passaggi:

  1. Configura un'esclusione di manutenzione con ambito "Nessun upgrade secondario".
  2. Attendi che il canale di rilascio di destinazione renda disponibile la versione secondaria di Kubernetes del tuo 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 da 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. Per leggere e confermare l'avviso, seleziona 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 di destinazione, 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 relative ai cluster non registrati nei canali di rilascio, utilizza questa opzione solo se alcuni pool di nodi non possono essere aggiornati automaticamente. Devi eseguire manualmente l'upgrade 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 per 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 del pool di nodi se il cluster non è registrato in un canale di rilascio.

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

Selezione delle Cluster registrato in un canale di rilascio Cluster non registrato in un canale di rilascio
Comportamento dell'upgrade condiviso
Tempistiche dell'upgrade Allineato al rispettivo canale di rilascio
  • Stessa data di inizio dell'upgrade automatico del canale stabile per le versioni secondarie
  • Stesse versioni secondarie disponibili, versioni con upgrade automatico delle patch e versione predefinita del canale regolare
  • Stesse versioni di patch disponibili nel canale rapido per le versioni secondarie disponibili nel canale regolare
Controllo dell'interruzione del pool di nodi
Periodi di manutenzione Disponibile Disponibile
Esclusioni di manutenzione Ambiti di esclusione della manutenzione disponibili:
  • "Nessun upgrade" (30 giorni)
  • "Nessun upgrade di minore entità" (6 mesi)
  • "Nessun upgrade secondario o dei nodi" (6 mesi)
Limitata all'ambito "Nessun upgrade" (30 giorni)
Sequenza di implementazione Disponibile con sequenze basate sul parco risorse e sull'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 da 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. Per leggere e confermare l'avviso, seleziona Accetto le condizioni.

  6. Fai clic su Salva modifiche.

gcloud

Aggiorna il canale di rilascio del cluster sul valore None:

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

API

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

Precisazioni

Quando usi i canali di rilascio, tieni presente le seguenti avvertenze.

Differenze tra i cluster a canale rapido e i cluster alfa

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

  • È possibile eseguire l'upgrade dei cluster che utilizzano canali di rilascio. 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