API Kubernetes 1.32 deprecate

Questa pagina spiega come preparare i cluster per gli upgrade alla versione 1.32 di GKE. Puoi trovare i client API che effettuano chiamate alle API deprecate rimosse nella versione 1.32 e aggiornarli in modo che utilizzino le API GA. Per informazioni più dettagliate, consulta la guida alla migrazione delle API deprecate di Kubernetes.

API rimosse nella versione 1.32

Le API deprecate nella versione 1.32 di Kubernetes sono API beta che sono passate alla versione GA (ad esempio v2) o da una versione beta a un'altra (ad esempio, da v1beta1 a v1beta2). Le API GA forniscono garanzie di compatibilità a lungo termine e devono essere utilizzate al posto delle API beta deprecate.

Tutti gli oggetti esistenti per le API che sono passate a nuove versioni possono essere utilizzati tramite le API aggiornate.

Risorse di controllo del flusso

La versione API flowcontrol.apiserver.k8s.io/v1beta3 di FlowSchema e PriorityLevelConfiguration non viene più pubblicata a partire dalla versione 1.32.

Esegui la migrazione dei manifest e dei client API in modo che utilizzino la versione API flowcontrol.apiserver.k8s.io/v1, disponibile dalla versione 1.29.

Tutti gli oggetti persistenti esistenti sono accessibili con la nuova API.

La versione API flowcontrol.apiserver.k8s.io/v1 presenta le seguenti modifiche importanti:

  • Il campo PriorityLevelConfiguration spec.limited.assuredConcurrencyShares è stato rinominato in spec.limited.nominalConcurrencyShares e il valore predefinito è 30 solo se non è specificato, mentre un valore esplicito di 0 non viene modificato in 30.

Prepararsi per l'upgrade alla versione 1.32

Non devi eliminare e ricreare nessuno degli oggetti API. Tutti gli oggetti API persistenti esistenti per le API che sono passate alla versione GA possono già essere letti e aggiornati utilizzando le nuove versioni API.

Tuttavia, ti consigliamo di eseguire la migrazione dei client e dei manifest prima di eseguire l'upgrade a Kubernetes 1.32. Per scoprire di più, consulta la guida alla migrazione delle API deprecate di Kubernetes.

Puoi visualizzare informazioni e consigli sulla deprecazione per determinare se il tuo cluster utilizza le API deprecate di Kubernetes 1.32. GKE genera informazioni sulla deprecazione quando gli user agent chiamano le API deprecate, non dalla configurazione degli oggetti Kubernetes.

Trovare i cluster che utilizzano le API deprecate

Puoi trovare i cluster che utilizzano le API deprecate dalle informazioni sulla deprecazione. Le informazioni sulla deprecazione forniscono anche informazioni come i client API che chiamano le API deprecate nel cluster.

Puoi anche utilizzare gli audit log per trovare i client che effettuano chiamate alle API deprecate.

Individuare i client API che effettuano chiamate di scrittura alle API deprecate

Per i cluster con Google Cloud Observability abilitato, puoi utilizzare la seguente query degli audit log Attività di amministrazione per mostrare l'utilizzo delle API deprecate da parte di user agent non gestiti da Google:

resource.type="k8s_cluster"
labels."k8s.io/removed-release"="DEPRECATED_API_MINOR_VERSION"
protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@")
protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:")

Sostituisci DEPRECATED_API_MINOR_VERSION con la versione secondaria in cui viene rimossa l'API deprecata, ad esempio 1.22.

Gli audit log Attività di amministrazione sono abilitati automaticamente per i cluster GKE. Con questa query, i log mostrano gli user agent che effettuano chiamate di scrittura alle API deprecate.

Individuare i client API che effettuano chiamate di lettura alle API deprecate

Per impostazione predefinita, gli audit log mostrano solo le chiamate di scrittura alle API deprecate. Per mostrare anche le chiamate di lettura alle API deprecate, configura gli audit log di accesso ai dati.

Segui le istruzioni per configurare gli audit log di accesso ai dati con la Google Cloud console. Nella Google Cloud console, seleziona l'API Kubernetes Engine. Nella scheda Tipi di log nel riquadro delle informazioni, seleziona Admin Read e Data Read.

Con questi log abilitati, puoi ora utilizzare la query originale per visualizzare sia le chiamate di lettura sia le chiamate di scrittura alle API deprecate.

Eseguire l'upgrade dei componenti di terze parti

Le informazioni sulla deprecazione potrebbero mostrare i risultati per gli agenti di terze parti che effettuano chiamate alle API deprecate nel cluster.

Per risolvere il problema degli agenti di terze parti che chiamano le API deprecate, ti consigliamo le seguenti best practice:

  1. Rivolgiti al fornitore di software di terze parti per una versione aggiornata.
  2. Esegui l'upgrade del software di terze parti all'ultima versione. Se non puoi eseguire l'upgrade del software, devi verificare se l'upgrade di GKE alla versione con le API deprecate rimosse interromperebbe il servizio.

Ti consigliamo di eseguire questo upgrade e l'upgrade della versione di GKE su un cluster di gestione temporanea per monitorare eventuali interruzioni prima di eseguire l'upgrade dei cluster di produzione.

Aggiornare i cluster interessati dalle deprecazioni

GKE mette in pausa gli upgrade automatici per i cluster interessati dalle deprecazioni. Per scoprire di più, consulta la pagina Come funzionano le deprecazioni di Kubernetes con GKE.

Per eseguire l'upgrade dei cluster interessati dalle deprecazioni, segui questi passaggi:

  1. Controlla quali user agent utilizzano le API deprecate nei log.
  2. Aggiorna gli user agent che utilizzano le API deprecate in modo che utilizzino le versioni API supportate.
  3. Aggiorna all'ultima versione qualsiasi software di terze parti che chiama le API deprecate.
  4. Esegui l'upgrade di un cluster di test e testa l'applicazione in un ambiente di test prima di eseguire l'upgrade del cluster di produzione per ridurre il rischio di interruzioni quando le API deprecate non sono più disponibili.
  5. Se non puoi aggiornare un user agent interessato, esegui l'upgrade di un cluster di test separato per verificare se l'upgrade causa interruzioni. Se l'upgrade non causa interruzioni, puoi eseguire l'upgrade del cluster manualmente.

  6. Dopo aver aggiornato tutti gli user agent, GKE attende 30 giorni senza osservare l'utilizzo delle API deprecate, quindi sblocca gli upgrade automatici. Gli upgrade automatici procedono in base alla release schedule.

Risorse

Ulteriori informazioni sono disponibili nella documentazione OSS di Kubernetes: