Utilizzare le API Kubernetes beta con i cluster GKE


Utilizza le API beta di Kubernetes per accedere a nuove funzionalità nel tuo di Google Kubernetes Engine (GKE). Per utilizzare le API beta introdotte con la versione 1.24 o versioni successive, configura le API beta.

Come vengono introdotte le nuove funzionalità con l'API Kubernetes

I cluster GKE sono costituiti da un piano di controllo e da nodi worker. Il piano di controllo 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, per poi passare alla disponibilità generale (GA) o essere ritirate e rimosse nelle versioni minori successive.

Puoi utilizzare solo le API alpha con alpha cluster, ma puoi utilizzare la versione 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. Esistente i cluster creati con una versione precedente alla 1.24 mantengono le API beta esistenti attivata, come attivata automaticamente (introdotta alla versione 1.24) o manualmente le API beta abilitate (introdotte alla versione 1.24 o successive) non possono essere è disabilitata sui cluster esistenti. Per tutti i cluster sono state introdotte API beta esistenti prima della versione 1.24 rimangono attive per impostazione predefinita e le nuove versioni della versione beta esistente Anche le API rimangono abilitate per impostazione predefinita.

Ad esempio, se un'API v1beta1 è stata introdotta nella versione 1.22 di Kubernetes, poi viene introdotta una nuova versione di questa API beta, come v1beta3, nella versione 1.25 di Kubernetes, l'API viene attivata automaticamente. Ciò accade perché è una nuova di un'API beta esistente, non di un'API beta completamente nuova. Tuttavia, una nuova API beta con la versione v1beta1 introdotta in Kubernetes 1.24 o versioni 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 durante la creazione del cluster o per un cluster esistente. Per scoprire cosa sono le API beta, per la versione secondaria del cluster, fai riferimento alla versione beta disponibile per le API.

Dopo aver abilitato un'API beta, questa rimane abilitata fino a quando non viene ritirata e non viene eseguito l'upgrade del cluster alla versione secondaria in cui l'API viene rimossa. Per vedere quali API beta sono state attivate nel tuo cluster, consulta Verificare quali API beta sono attivate.

API beta disponibili

Puoi abilitare un sottoinsieme di API Kubernetes beta per GKE cluster. 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 minore corrispondente in cui sono state introdotte:

Versione di Kubernetes API beta aggiunte con questa versione secondaria di Kubernetes Disponibile con GKE Note
1,29
  • Nessuno
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Devi abilitare entrambe le API contemporaneamente. In questo modo viene attivata la funzionalità beta Convalida delle norme di ammissione.
1.28
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
  • Nessuno
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 relative alla ritiro di Kubernetes. Quando un'API beta viene ritirata, devi interromperne l'utilizzo. Per saperne di più, consulta 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à, installa e poi inizializza 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 e 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 da 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 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 \
    --region=COMPUTE_REGION

Attivare le API beta in 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

Disattivare le API beta in un cluster esistente

Non puoi disattivare le API beta già abilitate su un cluster. Le API beta rimangono disponibili finché non vengono ritirate ed eseguito l'upgrade del cluster alla versione minore in cui l'API viene rimossa. Per saperne di più, consulta la sezione Ritiro delle API beta.

Controllare 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)"

Ritiro delle API beta

Una volta abilitata, un'API beta rimane attiva fino al ritiro di quest'ultima e viene eseguito l'upgrade del cluster alla versione secondaria in cui l'API viene rimossa.

In genere, le API beta sono disponibili per tre versioni minori prima di essere ritirate a favore di una nuova versione beta, di una versione stabile o senza sostituzione. Le versioni delle API beta vengono rimosse il ritiro. Se utilizzi un'API beta che è stata deprecata e rimossa in un'imminente versione secondaria di Kubernetes, devi eseguire la migrazione alle API supportate in modo che possa essere eseguito l'upgrade del cluster alla versione secondaria in cui l'API beta rimosso. Per scoprire di più, consulta 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 l'API è stata rimossa. Inoltre, GKE condivide informazioni e consigli sul ritiro notificarti l'utilizzo da parte del tuo cluster di un'API deprecata, puoi intervenire per far sì che gli upgrade continuino. Per saperne di più, consulta Valutare e mitigare l'esposizione ai prossimi ritiri di Kubernetes.

Consulta la tabella delle deprecazioni dell'API Kubernetes per un elenco completo delle API deprecate e per sapere se GKE ne rileva l'utilizzo.

Passaggi successivi