Esegui la migrazione del cluster conforme a CNCF

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 del cluster varia leggermente a seconda che il cluster abbia un emittente OIDC pubblico o privato. Scegli la scheda che si applica al tuo cluster:

Emittente OIDC privato

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 emittente OIDC del tuo cluster. Le istruzioni specifiche variano in base alla distribuzione.

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:

  1. Estrai il contesto kubeconfig del cluster e memorizzalo nella variabile di ambiente KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. 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 o generic 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 formatoprojects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, dove

    • PROJECT_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.