Esegui la migrazione del cluster EKS collegato

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.

  1. 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.

  2. 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: il contesto in kubeconfig per accedere al cluster EKS
    • 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.