Esegui la migrazione del cluster conforme alla CNCF

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.

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 del membro del cluster
  • KUBECONFIG_CONTEXT: il contesto nel file kubeconfig per accedere al cluster AKS
  • KUBECONFIG_PATH: il percorso del file kubeconfig

Emittente OIDC pubblico

  • Recupera l'URL emittente OIDC del 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 del membro del cluster
  • KUBECONFIG_CONTEXT: il contesto nel file kubeconfig per accedere al cluster AKS
  • 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:

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. 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 o generic 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, dove

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