Esegui la migrazione del cluster AKS

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 tu abbia configurato il cluster con l'emittente OIDC privato predefinito o con quello pubblico sperimentale. Scegli la scheda che si applica al tuo cluster:

Emittente OIDC privato (predefinito)

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 con il seguente comando:
  az aks show -n CLUSTER_NAME \
    -g RESOURCE_GROUP \
    --query "oidcIssuerProfile.issuerUrl" -otsv

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.

Supporto di Azure Workload Identity

Azure offre il supporto Wi-Fi in anteprima pubblica. L'abilitazione di questa funzionalità modifica l'URL emittente OIDC del cluster. Se hai già registrato il cluster con un URL OIDC precedente, non puoi eseguire l'aggiornamento al nuovo URL perché quel campo non è attualmente aggiornabile.

Per risolvere questo problema:

  1. Ricrea il cluster con Workload Identity abilitato.
  2. Collega il cluster AKS.
  3. Esegui la migrazione dei carichi di lavoro nel nuovo cluster.
  4. Elimina il cluster precedente.