Utilizzare le API Kubernetes beta con i cluster GKE


Utilizza le API beta di Kubernetes per accedere a 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.

Introduzione delle nuove funzionalità con l'API Kubernetes

I cluster GKE sono costituiti da un piano di controllo e nodi worker. Il piano di controllo espone il server API, che espone l'API Kubernetes per consentire la comunicazione tra gli utenti finali e i componenti interni ed esterni. Questa API si evolve nel tempo: nuove funzionalità vengono introdotte nelle fasi alpha o beta per poi passare alla disponibilità generale (GA) o essere deprecate e rimosse nelle versioni secondarie più recenti.

Puoi utilizzare solo le API alpha con i cluster alpha, ma puoi utilizzare le API beta con tutti i tipi di cluster GKE. A partire da Kubernetes versione 1.24, le nuove API beta sono disabilitate per impostazione predefinita nei nuovi cluster. I cluster esistenti creati che eseguono una versione precedente alla 1.24 mantengono le API beta esistenti abilitate, in quanto abilitate automaticamente (introdotte prima della 1.24) o le API beta attivate manualmente (introdotte 1.24 o successive) non possono essere disabilitate sui 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 di API beta esistenti rimangono abilitate per impostazione predefinita.

Ad esempio, se un'API v1beta1 è stata introdotta in Kubernetes versione 1.22, in Kubernetes viene introdotta automaticamente una nuova versione di questa API beta, come v1beta3, 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 successive è 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 al momento della creazione del cluster o per un cluster esistente. Per verificare quali API beta sono disponibili per la versione secondaria del cluster, consulta le API beta disponibili.

Dopo averla abilitata, un'API beta rimane abilitata fino a quando l'API beta non viene deprecata e viene eseguito l'upgrade del cluster alla versione secondaria in cui l'API viene rimossa. Per visualizzare le API beta abilitate per il tuo cluster, consulta Verificare quali API beta sono abilitate.

API beta disponibili

Puoi abilitare un sottoinsieme di API Kubernetes beta 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.

Fai riferimento alla seguente tabella 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,29
  • Nessuna
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Devi abilitare entrambe le API contemporaneamente. Viene attivata la funzionalità beta Convalida delle norme di ammissione.
1,28
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
  • Nessuna
1,27
  • authentication.k8s.io/v1beta1/selfsubjectreviews
  • authentication.k8s.io/v1beta1/selfsubjectreviews

Considerazioni da fare prima di utilizzare le API beta

Le API beta di Kubernetes sono soggette alle norme sul ritiro di Kubernetes. Quando un'API beta viene ritirata, devi interromperne l'utilizzo. Per scoprire di più, consulta la pagina Ritiri delle API beta.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.

Configura 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 della 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.
  • COMPUTE_REGION: la regione di Compute Engine per il nuovo cluster. Per i cluster di zona, utilizza --zone=COMPUTE_ZONE.

Crea un nuovo cluster con 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 \
    --region=COMPUTE_REGION

Abilita 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 \
    --region=COMPUTE_REGION

Disabilita le API beta su un cluster esistente

Non puoi disabilitare le API beta già abilitate su un cluster. Le API beta rimangono disponibili fino a quando non vengono deprecate e viene eseguito l'upgrade del cluster alla versione secondaria in cui l'API viene rimossa. Per scoprire di più, consulta Deprecazioni delle API beta.

Verificare quali API beta sono abilitate

Verifica quali API beta sono abilitate per il tuo cluster GKE:

gcloud container clusters describe CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --format="value(enableK8sBetaApis.enabledApis)"

Ritiri dell'API beta

Una volta abilitata, un'API beta rimane abilitata fino a quando l'API beta non viene deprecata e viene eseguito l'upgrade del cluster 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, una versione stabile o senza sostituzione. Dopo il ritiro, per le versioni beta delle API vengono rimosse tre versioni secondarie. Se utilizzi un'API beta che è stata deprecata e viene rimossa in una versione secondaria di Kubernetes imminente, devi eseguire la migrazione alle API supportate in modo che possa essere eseguito l'upgrade del cluster alla versione secondaria in cui viene rimossa l'API beta. Per saperne di più, consulta Funzionamento dei ritiri di Kubernetes con GKE.

GKE semplifica il processo tentando di rilevare l'utilizzo di API Kubernetes deprecate. Se GKE rileva l'utilizzo di un'API deprecata, mette in pausa gli upgrade automatici alla versione secondaria in cui viene rimossa l'API. Inoltre, GKE condivide insight e suggerimenti sul ritiro per informarti sull'utilizzo di un'API deprecata da parte del tuo cluster, in modo che tu possa intervenire per consentire il proseguimento degli upgrade. Per saperne di più, consulta Valutare e mitigare l'esposizione a imminenti deprecazioni di Kubernetes.

Consulta la tabella dei ritiri delle API Kubernetes per un elenco completo delle API deprecate e se GKE rileva l'utilizzo.

Passaggi successivi