Collega il cluster EKS

Panoramica

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 EKS utilizzando Terraform, consulta il repository GitHub di esempi per i cluster collegati a GKE.

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

Prerequisiti

Assicurati che il cluster soddisfi i requisiti del cluster.

Quando colleghi il cluster, devi specificare:

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 un cluster EKS

Per collegare il cluster EKS alla gestione del parco risorse Google Cloud, segui questi passaggi:

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

    aws eks update-kubeconfig --region AWS_REGION \
      --name CLUSTER_NAME
    
  2. Recupera l'URL dell'emittente OIDC 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 è l'URL dell'emittente OIDC. Salva questo valore per utilizzarlo in seguito.

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  4. 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=eks \
      --issuer-url=ISSUER_URL \
      --context=KUBECONFIG_CONTEXT \
      --kubeconfig=KUBECONFIG_PATH
    

    Sostituisci:

  • AWS_REGION: la regione AWS in cui si trova il cluster EKS
  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_CLOUD_REGION: la regione Google Cloud per amministrare il cluster
  • PLATFORM_VERSION: la versione dei cluster collegati a GKE da utilizzare per il cluster
  • PROJECT_NUMBER: il progetto host del parco risorse in cui verrà registrato il cluster
  • ISSUER_URL: l'URL dell'emittente recuperato in precedenza
  • KUBECONFIG_CONTEXT: contesto in kubeconfig per l'accesso al cluster EKS, 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.