La versione precedente dei cluster collegati a GKE è nota come cluster collegati a GKE (generazione precedente). La migrazione dalla versione precedente dei cluster GKE collegati 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 di cluster GKE allegati, non è possibile tornare ai cluster GKE allegati (generazione precedente).
Criteri di numerazione delle versioni
Questi documenti fanno riferimento alla versione dei cluster collegati a GKE come versione della piattaforma, per distinguerla dalla versione di Kubernetes. I cluster collegati a GKE utilizzano la stessa convenzione 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 rispetto alla versione di Kubernetes del cluster. Ad esempio, puoi collegare un cluster che esegue Kubernetes v1.22.* con la versione della piattaforma dei cluster collegati a 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 GKE allegati.
Assicurati che Workload Identity sia abilitato
I cluster esistenti dei cluster collegati a GKE (generazione precedente) devono avere Workload Identity abilitato prima di essere migrati alla generazione attuale di cluster collegati a GKE.
Per determinare se WI è abilitato, esegui il seguente comando e controlla l'output per qualsiasi campo Workload Identity:
gcloud container hub memberships describe MEMBERSHIP_NAME
Se Workload Identity non è abilitato, l'appartenenza deve essere aggiornata per abilitarlo.
Recupera l'URL dell'emittente OIDC del cluster con il seguente comando:
aws eks describe-cluster \ --region AWS_REGION \ --name CLUSTER_NAME \ --query "cluster.identity.oidc.issuer" \ --output text
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 del membro del cluster
- KUBECONFIG_CONTEXT: il contesto nel file kubeconfig per accedere al cluster EKS
- KUBECONFIG_PATH: il percorso del file kubeconfig
- OIDC_URL: l'URL OIDC recuperato in precedenza
Eseguire 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 archivialo nella variabile di ambiente KUBECONFIG_CONTEXT:
KUBECONFIG_CONTEXT=$(kubectl config current-context)
Esegui questo comando per eseguire la migrazione del cluster alla generazione attuale dei cluster GKE collegati. Questo comando estrae i dettagli pertinenti della configurazione del cluster, registra il cluster con Google Fleet Management e installa o esegue l'upgrade di qualsiasi software necessario, ad esempio l'agente del 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: l'identificatore di appartenenza completo del cluster registrato (vedi sotto)
- PLATFORM_VERSION: la versione di GKE attached clusters a cui vuoi eseguire la migrazione (ad esempio: 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 nel tuo
kubeconfig
per connetterti al cluster - KUBECONFIG_PATH: la posizione del file
kubeconfig
. Se non specificato, il valore predefinito è~/.kube/config
Il designatore 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 cluster
MEMBERSHIP_ID: deve essere l'ID dell'appartenenza al parco del cluster esistente. I cluster collegati a GKE utilizzeranno questo valore come nome del cluster.