Utilizzare le API Kubernetes beta con i cluster GKE


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 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 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 attivate le API beta esistenti, poiché quelle attivate automaticamente (introdotte prima della 1.24) o le API beta attivate manualmente (introdotte nella 1.24 o versioni 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, così come le nuove versioni delle API beta esistenti.

Ad esempio, se un'API v1beta1 è stata introdotta nella versione 1.22 di Kubernetes, poi viene introdotta una nuova versione di questa API beta, ad esempio v1beta3, nella versione 1.25 di Kubernetes, l'API viene abilitata automaticamente. Questo 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 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 attivare le API durante la creazione del cluster o per un cluster esistente. Per sapere quali API beta sono disponibili per la versione minore del tuo cluster, consulta le API beta disponibili.

Una volta abilitata, un'API beta 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 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 minore corrispondente in cui sono state introdotte:

Versione di Kubernetes API beta aggiunte con questa versione minore di Kubernetes Disponibile con GKE Note
1.31
  • storage.k8s.io/v1beta1/volumeattributesclasses
  • networking.k8s.io/v1beta1/ipaddresses
  • networking.k8s.io/v1beta1/servicecidrs
  • storage.k8s.io/v1beta1/volumeattributesclasses
  • networking.k8s.io/v1beta1/ipaddresses
  • networking.k8s.io/v1beta1/servicecidrs

Devi abilitare contemporaneamente entrambe le API networking.k8s.io. In questo modo viene attivata la funzionalità beta di Kubernetes per più CIDR di servizi in un cluster GKE che esegue la versione 1.31.1-gke.1361000 o successive. Per maggiori dettagli, consulta le note di rilascio di GKE del 4 ottobre 2024.

1,29
  • Nessuno
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Devi abilitare entrambe le API contemporaneamente. Viene attivata la funzionalità beta Criterio di ammissione con convalida.
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 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 Ritiro 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, ottieni la versione più recente eseguendo gcloud components update.

Configurare 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 Compute Engine per il nuovo cluster. Per i cluster zonali, utilizza --zone=COMPUTE_ZONE.

Creare 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

Abilita le API beta in un cluster esistente

Abilita un elenco di API beta in 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 in 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

Controlla 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 attivata, un'API beta rimane attiva fino a quando non viene ritirata 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 beta delle API vengono rimosse tre versioni secondarie dopo la 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 sia possibile eseguire l'upgrade del cluster alla versione secondaria in cui è stata rimessa l'API beta. 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. GKE condivide inoltre approfondimenti e consigli sul ritiro per informarti dell'utilizzo da parte del tuo cluster di un'API ritirata, in modo che puoi intervenire per consentire la continuazione 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 ne rileva l'utilizzo.

Passaggi successivi