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 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 tu abbia configurato il cluster con l'emittente OIDC privata predefinita o con quella pubblica sperimentale. Scegli la scheda relativa al tuo cluster:

Emittente OIDC privato (impostazione predefinita)

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 dell'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 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.

Supporto dell'identità del workload di Azure

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

Per risolvere questo problema:

  1. Ricrea il cluster con Workload Identity abilitato.
  2. Collega il tuo cluster AKS.
  3. Esegui la migrazione dei tuoi workload al nuovo cluster.
  4. Elimina il vecchio cluster.