Utilizza le API beta di Kubernetes per accedere alle nuove funzionalità nei tuoi cluster Google Kubernetes Engine (GKE). Per utilizzare le API beta introdotte con la versione 1.24 o successive, configura le API beta.
Come vengono introdotte nuove funzionalità con l'API Kubernetes
I cluster GKE sono costituiti da un control plane e nodi worker. Il control plane espone il server API, che espone l'API Kubernetes in modo che gli utenti finali, insieme ai componenti interni ed esterni, possano comunicare. Questa API si evolve nel tempo, con nuove funzionalità introdotte nelle fasi alpha o beta e poi eventualmente promosse alla disponibilità generale (GA) o ritirate e rimosse nelle versioni secondarie più recenti.
Puoi utilizzare le API alpha solo con i cluster alpha, ma puoi utilizzare le API beta con tutti i tipi di cluster GKE. A partire dalla versione 1.24 di Kubernetes, le nuove API beta sono disabilitate per impostazione predefinita nei nuovi cluster. I cluster esistenti creati con una versione precedente alla 1.24 mantengono abilitate le API beta esistenti, in quanto le API beta abilitate automaticamente (introdotte prima della versione 1.24) o abilitate manualmente (introdotte nella versione 1.24 o successive) non possono essere disabilitate nei cluster esistenti. Per tutti i cluster, le API beta esistenti introdotte prima della versione 1.24 rimangono abilitate per impostazione predefinita e anche le nuove versioni delle API beta esistenti rimangono abilitate per impostazione predefinita.
Ad esempio, se un'API v1beta1
è stata introdotta nella versione 1.22 di Kubernetes, in Kubernetes versione 1.25 viene introdotta una nuova versione di questa API beta, ad esempio v1beta3
, e l'API viene abilitata automaticamente. Ciò accade perché si tratta di una nuova
versione di un'API beta esistente, non di un'API beta completamente nuova. Tuttavia, una nuova
API beta con la versione v1beta1
introdotta in Kubernetes versione 1.24 o
successiva è disabilitata per impostazione predefinita.
Per utilizzare le API beta introdotte con la versione 1.24 e successive, devi configurare le API beta per risorsa per cluster. Puoi abilitare le API durante la creazione del cluster o per un cluster esistente. Per vedere quali API beta sono disponibili per la versione secondaria del tuo cluster, consulta le API beta disponibili.
Una volta abilitata, un'API beta rimane abilitata finché non viene ritirata e il cluster non viene sottoposto all'upgrade alla versione secondaria in cui l'API viene rimossa. Per vedere quali API beta sono abilitate nel cluster, consulta Controllare quali API beta sono abilitate.
API beta di Kubernetes e gate di funzionalità di Kubernetes
I feature gate sono un meccanismo distinto per l'attivazione delle funzionalità dalle API Kubernetes e sono gestiti in modo diverso dai cluster GKE. Alcune API Kubernetes e alcuni gate di funzionalità Kubernetes funzionano insieme. Assicurati di comprendere la connessione tra funzionalità specifiche e API. Per ulteriori informazioni, consulta Feature gates.
API beta disponibili
Puoi abilitare un sottoinsieme di API beta Kubernetes per i tuoi cluster GKE. Altre API beta non sono disponibili per motivi quali:
- L'API beta si basa su funzionalità Kubernetes non GA.
- L'API beta non è sicura.
- L'API beta non è compatibile con Autopilot.
Consulta la tabella seguente per le API beta e la versione secondaria corrispondente in cui sono state introdotte:
Versione di Kubernetes | API beta aggiunte con questa versione secondaria di Kubernetes | Disponibile con GKE | Note |
---|---|---|---|
1.32 |
|
|
Devi abilitare tutte le API |
1.31 |
|
|
Devi abilitare entrambe le API |
1.29 |
|
|
Devi abilitare entrambe le API contemporaneamente. In questo modo viene attivata la funzionalità beta Validating Admission Policy. |
1.28 |
|
|
|
1.27 |
|
|
Considerazioni prima di utilizzare le API beta
Le API beta di Kubernetes sono soggette alle norme di ritiro di Kubernetes. Quando un'API beta viene ritirata, devi interromperne l'utilizzo. Per saperne di più, vedi Ritiri delle API beta.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializzala. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo
gcloud components update
.
Configurare le API beta
Le API beta sono abilitate per risorsa per cluster. Puoi abilitare le API quando crei un cluster o per un cluster esistente.
Per elencare una risorsa API beta per questi comandi, utilizza la rappresentazione
{group}/{version}/{resource}
. La versione deve essere una versione beta. Un esempio di
questa rappresentazione valida è authentication.k8s.io/v1beta1/selfsubjectreviews
.
Per i comandi nella sezione successiva, sostituisci le seguenti variabili:
CLUSTER_NAME
: il nome del cluster che vuoi aggiornare.LIST_OF_APIS
: l'elenco delle API beta che vuoi attivare, in un elenco separato da virgole.CONTROL_PLANE_LOCATION
: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
Crea un nuovo cluster con le API beta abilitate
Crea un nuovo cluster con un elenco di API beta abilitate:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-kubernetes-unstable-apis=LIST_OF_APIS \
--location=CONTROL_PLANE_LOCATION
Abilitare le API beta su un cluster esistente
Abilita un elenco di API beta su un cluster esistente:
gcloud container clusters update CLUSTER_NAME \
--enable-kubernetes-unstable-apis=LIST_OF_APIS \
--location=CONTROL_PLANE_LOCATION
Assicurati che i nodi utilizzino le API beta appena abilitate
Alcune funzionalità beta richiedono che la funzionalità sia attivata anche sul kubelet in esecuzione sui nodi worker.
Per utilizzare queste funzionalità API beta appena attivate con i carichi di lavoro in esecuzione sui nodi di lavoro, GKE deve applicare la modifica ai nodi:
- Per i nodi nei nuovi node pool Standard e nei gruppi di nodi Autopilot, GKE abilita le API beta.
- Per i nodi nuovi ed esistenti nei node pool Standard esistenti o per i gruppi di nodi esistenti in Autopilot, GKE applica la modifica quando i nodi vengono ricreati durante gli upgrade dei nodi o altri tipi di aggiornamenti dei nodi. Per applicare immediatamente la modifica ai nodi esistenti in un pool di nodi del cluster Standard, puoi eseguire l'upgrade manuale del node pool a una versione GKE successiva. L'esecuzione di un upgrade in loco non applica la modifica.
Disabilita le API beta su un cluster esistente
Non puoi disabilitare le API beta già abilitate su un cluster. Le API beta rimangono disponibili finché non vengono ritirate e il cluster non viene aggiornato alla versione secondaria in cui l'API viene rimossa. Per saperne di più, consulta Ritiri delle API beta.
Controlla quali API beta sono abilitate
Controlla quali API beta sono abilitate per il tuo cluster GKE:
gcloud container clusters describe CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--format="value(enableK8sBetaApis.enabledApis)"
Ritiri delle API beta
Una volta attivata, un'API beta rimane attiva finché non viene ritirata e il cluster non viene aggiornato alla versione secondaria in cui l'API viene rimossa.
Le API beta sono in genere disponibili per tre versioni secondarie prima di essere ritirate a favore di una nuova versione beta, di una versione stabile o senza sostituzione. Le versioni beta delle API vengono rimosse tre versioni secondarie dopo il ritiro. Se utilizzi un'API beta che è stata ritirata e rimossa in una versione secondaria di Kubernetes imminente, devi eseguire la migrazione alle API supportate in modo che il cluster possa essere sottoposto all'upgrade alla versione secondaria in cui l'API beta è rimossa. Per saperne di più, consulta la pagina Come funzionano i ritiri di Kubernetes con GKE.
GKE semplifica questo processo tentando di rilevare l'utilizzo delle API Kubernetes deprecate. Se GKE rileva l'utilizzo di un'API ritirata, mette in pausa gli upgrade automatici alla versione secondaria in cui viene rimossa l'API. GKE condivide anche approfondimenti e consigli sul ritiro per informarti dell'utilizzo di un'API ritirata da parte del tuo cluster, in modo che tu possa intervenire per consentire il proseguimento degli upgrade. Per scoprire di più, consulta Valutare e ridurre l'esposizione alle prossime deprecazioni di Kubernetes.
Consulta la tabella delle deprecazioni dell'API Kubernetes per un elenco completo delle API deprecate e per sapere se GKE rileva l'utilizzo.