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:
- in una regione amministrativa di Google Cloud supportata e
- una versione della piattaforma.
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:
Assicurati che il file kubeconfig contenga una voce per il cluster che vuoi collegare:
aws eks update-kubeconfig --region AWS_REGION \ --name CLUSTER_NAME
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.
Esegui questo comando per estrarre il contesto kubeconfig del cluster e archiviarlo nella variabile di ambiente
KUBECONFIG_CONTEXT
:KUBECONFIG_CONTEXT=$(kubectl config current-context)
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.