Collega il cluster AKS

Collegare un cluster significa connetterlo a Google Cloud registrandolo con Google Cloud Fleet Management e installando al suo interno il software dei cluster collegati a GKE.

Puoi collegare un cluster utilizzando gcloud CLI o Terraform. Per scoprire come creare e collegare un cluster AKS utilizzando Terraform, consulta il repository GitHub di esempi per i cluster collegati a GKE.

Per collegare un cluster AKS utilizzando gcloud, esegui questi passaggi.

Prerequisiti

Assicurati che il cluster soddisfi i requisiti del cluster.

Quando colleghi il cluster, devi specificare quanto segue:

La regione amministrativa è una regione Google Cloud da cui amministrare il cluster collegato. Puoi scegliere qualsiasi regione supportata, ma la best practice è scegliere la regione geograficamente più vicina al tuo cluster. I dati degli utenti non vengono archiviati nella regione amministrativa.

La versione della piattaforma è la versione dei cluster collegati a GKE da installare sul cluster. Puoi elencare tutte le versioni supportate eseguendo questo comando:

gcloud container attached get-server-config  \
  --location=GOOGLE_CLOUD_REGION

Sostituisci GOOGLE_CLOUD_REGION con il nome della località Google Cloud da cui amministrare il cluster.

Numerazione delle versioni della piattaforma

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 alla versione Kubernetes del cluster. Ad esempio, puoi collegare un cluster che esegue Kubernetes v1.22.* con la piattaforma di cluster collegati a GKE versione 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 a GKE.

Collega il cluster AKS

Per collegare il cluster AKS alla gestione del parco risorse Google Cloud, esegui questi comandi:

  1. Assicurati che il file kubeconfig contenga una voce per il cluster che vuoi collegare:

    az aks get-credentials -n CLUSTER_NAME \
      -g RESOURCE_GROUP
    
  2. Esegui questo comando per estrarre il contesto kubeconfig del cluster e archiviarlo nella variabile di ambiente KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  3. Il comando per registrare il cluster varia leggermente a seconda che tu lo abbia configurato con l'emittente OIDC privato predefinito o con quello pubblico sperimentale. Scegli la scheda pertinente al tuo cluster:

    Emittente OIDC privato (predefinito)

    Utilizza il comando gcloud container attached clusters register per registrare il cluster:

    gcloud container attached clusters register CLUSTER_NAME \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-project=PROJECT_NUMBER \
      --platform-version=PLATFORM_VERSION \
      --distribution=aks \
      --context=KUBECONFIG_CONTEXT \
      --has-private-issuer \
      --kubeconfig=KUBECONFIG_PATH
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster
    • GOOGLE_CLOUD_REGION: la regione Google Cloud per gestire il cluster
    • PROJECT_NUMBER: il progetto host del parco risorse con cui registrare il cluster
    • PLATFORM_VERSION: la versione della piattaforma da utilizzare per il cluster
    • KUBECONFIG_CONTEXT: contesto in kubeconfig per l'accesso al cluster AKS
    • KUBECONFIG_PATH: percorso a kubeconfig

    Emittente OIDC pubblico

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

      Sostituisci RESOURCE_GROUP con il gruppo di risorse AKS a cui appartiene il tuo cluster.

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

    2. Esegui questo comando per estrarre il contesto kubeconfig del cluster e archiviarlo nella variabile di ambiente KUBECONFIG_CONTEXT:

      KUBECONFIG_CONTEXT=$(kubectl config current-context)
      
    3. Utilizza il comando gcloud container attached clusters register per registrare il cluster:

      gcloud container attached clusters register CLUSTER_NAME \
        --location=GOOGLE_CLOUD_REGION \
        --fleet-project=PROJECT_NUMBER \
        --platform-version=PLATFORM_VERSION \
        --distribution=aks \
        --issuer-url=ISSUER_URL \
        --context=KUBECONFIG_CONTEXT \
        --kubeconfig=KUBECONFIG_PATH
      

      Sostituisci quanto segue:

      • CLUSTER_NAME: il nome del cluster
      • GOOGLE_CLOUD_REGION: la regione Google Cloud per gestire il cluster
      • PROJECT_NUMBER: il progetto host del parco risorse in cui verrà registrato il cluster
      • PLATFORM_VERSION: la versione dei cluster collegati a GKE da utilizzare per il cluster
      • ISSUER_URL: l'URL dell'emittente recuperato in precedenza
      • KUBECONFIG_CONTEXT: contesto in kubeconfig per l'accesso al cluster, come estratto in precedenza
      • KUBECONFIG_PATH: percorso a kubeconfig

Autorizza Cloud Logging / Cloud Monitoring

Affinché i cluster collegati a GKE creino e carichino log di sistema e metriche su Google Cloud, è necessario che siano autorizzati.

Per autorizzare l'identità dei carichi di lavoro Kubernetes gke-system/gke-telemetry-agent a scrivere i log in Google Cloud Logging e le metriche in Google Cloud Monitoring, esegui questo comando:

gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
  --member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
  --role=roles/gkemulticloud.telemetryWriter

Sostituisci GOOGLE_PROJECT_ID con l'ID progetto Google Cloud del cluster.

Questa associazione IAM concede l'accesso a tutti i cluster nel progetto di progetto Google Cloud per caricare log e metriche. Devi eseguirlo solo dopo aver creato il primo cluster per il progetto.

L'aggiunta di questa associazione IAM non riuscirà, a meno che non sia stato creato almeno un cluster nel progetto Google Cloud. Questo perché il pool di identità per i carichi di lavoro a cui fa riferimento (GOOGLE_PROJECT_ID.svc.id.goog) non viene eseguito fino alla creazione del cluster.