La versione precedente dei cluster collegati a GKE è nota come cluster collegati a GKE (generazione precedente). La migrazione dalla versione precedente dei cluster collegati GKE alla generazione attuale ti consente di accedere a questa funzionalità, inclusa la gestione del ciclo di vita e la registrazione del parco risorse. La migrazione è un'operazione unidirezionale: una volta eseguita la migrazione alla generazione attuale dei cluster collegati a GKE, non è possibile tornare ai cluster collegati a GKE (generazione precedente).
Criteri per la numerazione delle versioni
Questi documenti fanno riferimento alla versione dei cluster collegati a GKE come alla versione della piattaforma per distinguerla dalla versione Kubernetes. I cluster collegati a GKE utilizzano la stessa convention di numerazione delle versioni di GKE, ad esempio 1.21.5-gke.1. Quando colleghi o aggiorni il cluster, devi scegliere una versione della piattaforma la cui versione secondaria sia uguale o un livello inferiore alla versione Kubernetes del cluster. Ad esempio, puoi collegare un cluster che esegue Kubernetes 1.22.* con la versione della piattaforma dei cluster collegati GKE 1.21.* o 1.22.*.
In questo modo puoi eseguire l'upgrade del cluster alla versione secondaria successiva prima di eseguire l'upgrade dei cluster collegati GKE.
Assicurati che Workload Identity sia attivato
I cluster esistenti dei cluster collegati a GKE (generazione precedente) devono avere Workload Identity abilitato prima di eseguire la migrazione alla generazione attuale dei cluster collegati a GKE.
Per determinare se WI è abilitato, esegui il seguente comando e controlla l'output per eventuali campi Workload Identity:
gcloud container hub memberships describe MEMBERSHIP_NAME
Se Workload Identity non è abilitato, l'abbonamento deve essere aggiornato per attivarlo.
Il comando per aggiornare l'appartenenza al cluster varia leggermente a seconda che tu abbia configurato il cluster con l'emittente OIDC privato predefinito o con quello pubblico sperimentale. Scegli la scheda che si applica al tuo cluster:Emittente OIDC privato (valore predefinito)
gcloud container hub memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--has-private-issuer
Sostituisci:
- MEMBERSHIP_NAME: il nome dell'appartenenza del cluster
- KUBECONFIG_CONTEXT: contesto in kubeconfig per accedere al cluster AKS
- KUBECONFIG_PATH: percorso del file kubeconfig
Emittente OIDC pubblico
- Recupera l'URL dell'emittente OIDC del cluster con il seguente comando:
az aks show -n CLUSTER_NAME \
-g RESOURCE_GROUP \
--query "oidcIssuerProfile.issuerUrl" -otsv
L'output di questo comando sarà l'URL dell'emittente OIDC. Salva questo valore per utilizzarlo in un secondo momento.
- Aggiorna l'abbonamento:
gcloud container fleet memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--public-issuer-url=OIDC_URL
Sostituisci:
- MEMBERSHIP_NAME: il nome dell'appartenenza del cluster
- KUBECONFIG_CONTEXT: contesto in kubeconfig per accedere al cluster AKS
- KUBECONFIG_PATH: percorso del file kubeconfig
- OIDC_URL: l'URL OIDC recuperato in precedenza
Esegui la migrazione del cluster
Per eseguire la migrazione del cluster dai cluster collegati a GKE (generazione precedente) ai cluster collegati a GKE:
Estrai il contesto kubeconfig del cluster e memorizzalo nella variabile di ambiente KUBECONFIG_CONTEXT:
KUBECONFIG_CONTEXT=$(kubectl config current-context)
Esegui il seguente comando per eseguire la migrazione del cluster alla generazione corrente di cluster collegati GKE. Questo comando estrae i dettagli pertinenti della configurazione del cluster, lo registra in Google Fleet Management e installa o esegue l'upgrade del software necessario, ad esempio l'agente di ciclo di vita, sul cluster.
gcloud container attached clusters import \ --location=GOOGLE_CLOUD_REGION \ --fleet-membership=FLEET_MEMBERSHIP \ --platform-version=PLATFORM_VERSION \ --distribution=CLUSTER_DISTRIBUTION \ --context=KUBECONFIG_CONTEXT \ [--kubeconfig=KUBECONFIG_PATH]
Sostituisci:
- GOOGLE_CLOUD_REGION: la Google Cloud posizione da cui viene amministrato il cluster
- FLEET_MEMBERSHIP: il designatore dell'appartenenza completo del tuo cluster registrato (vedi di seguito)
- PLATFORM_VERSION: la versione dei cluster collegati a GKE a cui vuoi eseguire la migrazione (ad es. v1.22.0-gke.1)
- CLUSTER_DISTRIBUTION: il tipo di cluster:
eks
per Elastic Kubernetes Service di AWS,aks
per Azure Kubernetes Service ogeneric
per qualsiasi altra distribuzione - KUBECONFIG_CONTEXT: il nome del contesto in
kubeconfig
per connetterti al cluster - KUBECONFIG_PATH: la posizione del file
kubeconfig
. Se non specificato, il valore predefinito è~/.kube/config
L'indicatore di appartenenza è una stringa che identifica in modo univoco il cluster collegato e ha il formato
projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID
, dovePROJECT_NUMBER è il numero del progetto host del parco risorse. Devi specificare lo stesso numero di progetto a cui appartiene attualmente il tuo cluster
MEMBERSHIP_ID: deve essere l'ID appartenenza al parco risorse del tuo cluster esistente. I cluster collegati a GKE utilizzeranno questo valore come nome del cluster.
Supporto per le identità per i workload di Azure
Azure offre il supporto di WI in anteprima pubblica. L'attivazione di questa funzionalità modifica l'URL dell'emittente OIDC del cluster. Se hai già registrato il tuo cluster con un URL OIDC precedente, non puoi eseguire l'aggiornamento al nuovo URL perché questo campo non è attualmente aggiornabile.
Per risolvere questo problema:
- Ricrea il cluster con l'identità del carico di lavoro abilitata.
- Collega il cluster AKS.
- Esegui la migrazione dei tuoi carichi di lavoro al nuovo cluster.
- Elimina il vecchio cluster.