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 a GKE alla generazione attuale ti dà accesso a questa funzionalità, tra cui la gestione del ciclo di vita e la registrazione del parco risorse. La migrazione è un'operazione unidirezionale: una volta eseguita la migrazione all'attuale generazione dei cluster collegati a GKE, non è possibile tornare ai cluster collegati a GKE (generazione precedente).

Criterio 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 inferiore a quella di Kubernetes del tuo cluster. Ad esempio, puoi collegare un cluster che esegue Kubernetes v1.22.* con la versione della piattaforma di cluster collegati a GKE versione 1.21.* o 1.22.*.

Questo ti consente di eseguire l'upgrade del cluster alla versione secondaria successiva prima di eseguire l'upgrade dei cluster collegati a GKE.

Assicurati che Workload Identity sia abilitato

I cluster esistenti da cluster collegati a GKE (generazione precedente) devono avere Workload Identity abilitato prima di essere migrati all'attuale generazione di cluster collegati a GKE.

Per determinare se il Wi-Fi è abilitato, esegui il comando seguente e controlla l'output per qualsiasi campo Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

Se Workload Identity non è abilitato, devi aggiornare l'appartenenza per abilitarlo.

Il comando per aggiornare l'appartenenza al 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 cluster. Le istruzioni specifiche variano a seconda della distribuzione.

L'output di questo comando sarà l'URL dell'emittente OIDC. Salva questo valore per utilizzarlo in seguito.

  • 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 a kubeconfig
  • OIDC_URL: 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 tuo 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 all'attuale generazione di cluster collegati a GKE. Questo comando estrae i dettagli pertinenti della configurazione del cluster, lo registra con Google Fleet Management e installa o esegue l'upgrade di qualsiasi software necessario, ad esempio l'agente del ciclo di vita, nel 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 località Google Cloud da cui viene amministrato il cluster
    • FLEET_MEMBERSHIP: l'identificatore dell'iscrizione completo del cluster registrato (vedi sotto)
    • PLATFORM_VERSION: la versione dei cluster collegati a GKE di cui vuoi eseguire la migrazione (esempio: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: il tipo di cluster eks per il servizio Elastic Kubernetes di AWS, aks per Azure Kubernetes Service o generic per qualsiasi altra distribuzione
    • KUBECONFIG_CONTEXT: il nome del contesto nel tuo kubeconfig con cui 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, in cui

    • PROJECT_NUMBER è il numero di 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 membro del parco risorse del cluster esistente. I cluster collegati a GKE utilizzeranno questo valore come nome del cluster.