API Kubernetes 1.26 deprecate


Questa pagina spiega come preparare i cluster per gli upgrade alla versione 1.26 di GKE. Puoi trovare i client API che effettuano chiamate alle API ritirate e rimosse nel 1,26 e aggiornare i client in modo che utilizzino le API GA. Per informazioni più dettagliate, consulta Migrazione delle API deprecate per Kubernetes .

API rimosse nella versione 1.26

Le API deprecate in Kubernetes versione 1.26 sono API beta che hanno passare a GA (ad esempio v2) o passare da una versione beta a un'altra (ad esempio v1beta1 a v1beta2). Le API GA forniscono garanzie di compatibilità a lungo termine e devono essere utilizzate al posto delle API beta ritirate.

È possibile interagire con tutti gli oggetti esistenti per le API che sono state trasferite alle nuove versioni utilizzando le API aggiornate.

Risorse di controllo del flusso

La versione dell'API flowcontrol.apiserver.k8s.io/v1beta1 di FlowSchema e PriorityLevelConfiguration non è più disponibile a partire dalla versione 1.26.

Esegui la migrazione dei manifest e dei client API per utilizzare la versione dell'API flowcontrol.apiserver.k8s.io/v1beta3, disponibile dalla versione 1.26. Tutti gli oggetti persistenti esistenti sono accessibili utilizzando la nuova API.

HorizontalPodAutoscaler

La versione API autoscaling.apiserver.k8s.io/v2beta2 di HorizontalPodAutoscaler non è più a partire dalla versione 1.26.

Esegui la migrazione di manifest e client API per utilizzare la versione API autoscaling.apiserver.k8s.io/v2, disponibile dalla versione 1.23. Tutti gli oggetti persistenti esistenti sono accessibili utilizzando il nuovo tramite Google Cloud CLI o tramite l'API Compute Engine.

Preparazione dell'upgrade alla versione 1.26

Non è necessario eliminare e ricreare gli oggetti API. Tutti gli oggetti API esistenti memorizzati per le API che sono state trasferite a GA possono già essere letti e aggiornati utilizzando le nuove versioni dell'API.

Tuttavia, ti consigliamo di eseguire la migrazione di client e manifest prima di Kubernetes 1.26. Per scoprire di più, consulta la guida alla migrazione delle API deprecate di Kubernetes.

Puoi visualizzare approfondimenti e consigli sul ritiro per determinare se il cluster utilizza API Kubernetes 1.26 deprecate. GKE genera informazioni sul ritiro quando gli agenti utente chiamano API ritirate, non dalla configurazione degli oggetti Kubernetes.

Trova i cluster utilizzando le API deprecate

Puoi trovare quali cluster utilizzano API deprecate dagli insight sul ritiro. Gli approfondimenti sulla ritiro forniscono anche informazioni quali i client API che chiamano le API ritirate nel tuo cluster.

Puoi anche utilizzare i log di controllo per sapere quali client effettuano chiamate all'ambiente deprecato su quelle di livello inferiore.

Individuare i client API che eseguono chiamate di scrittura ad API ritirate

Per i cluster in cui è attivata l'osservabilità di Google Cloud, puoi utilizzare la seguente query del log di controllo delle attività amministrative per mostrare l'utilizzo di API ritirate da agenti utente 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 minore in cui l'API obsoleta è stata rimossa, ad esempio 1.22.

Gli audit log per le attività di amministrazione vengono abilitati automaticamente per GKE cluster. Con questa query, i log mostrano gli agenti utente che eseguono chiamate di scrittura alle API ritirate.

Individuare i client API che effettuano chiamate di lettura ad API ritirate

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

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

Con questi log abilitati, ora puoi utilizzare la query originale per visualizzare sia le letture e scrivere chiamate alle API ritirate.

Eseguire l'upgrade dei componenti di terze parti

Approfondimenti sul ritiro potrebbero mostrare risultati per agenti di terze parti che effettuano chiamate ad API deprecate. nel tuo cluster.

Per risolvere le chiamate degli agenti di terze parti alle API deprecate, consigliamo la seguenti best practice:

  1. Rivolgiti al fornitore di software di terze parti per una versione aggiornata.
  2. Eseguire l'upgrade del software di terze parti alla versione più recente. Se non puoi eseguire l'upgrade devi verificare se è necessario eseguire l'upgrade di GKE con le API deprecate rimosse interrompere il servizio.

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

Aggiorna i cluster interessati dal ritiro

Per eseguire l'upgrade dei cluster interessati dai ritiri, segui questi passaggi:

  1. Controlla quali user agent utilizzano le API deprecate nella log.
  2. Aggiorna gli user agent che utilizzano le API ritirate in modo che utilizzino le versioni supportate.
  3. Aggiorna il software di terze parti che chiama le API ritirate alle versioni più recenti.
  4. Esegui l'upgrade di un cluster di test e testa la tua 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 riesci ad aggiornare uno user agent interessato, esegui l'upgrade di un cluster di test distinto per verificare se l'upgrade causa interruzioni. Se l'upgrade non causa interruzione del servizio, puoi eseguire manualmente l'upgrade del cluster.

  6. Dopo aver aggiornato tutti gli agenti utente, GKE attende 30 giorni senza rilevare l'utilizzo di API ritirate, quindi sblocca gli upgrade automatici. Gli upgrade automatici vengono eseguiti in base alla pianificazione dei rilasci.

Risorse

Ulteriori informazioni sono disponibili nella documentazione di Kubernetes sul software open source: