Panoramica
Collegare un cluster significa connetterlo a Google Cloud registrandolo con Google Cloud Fleet Management e installando il software GKE attached clusters.
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 GKE collegati.
Questa pagina è rivolta agli amministratori IT e agli operatori che vogliono configurare, monitorare e gestire l'infrastruttura cloud. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta la pagina Ruoli e attività comuni degli utenti GKE. Google Cloud
Per collegare un cluster EKS utilizzando gcloud, segui questi passaggi.
Prerequisiti
Assicurati che il cluster soddisfi i requisiti del cluster.
Quando colleghi il cluster, devi specificare:
- una Google Cloud regione amministrativa 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. Nessun dato utente viene archiviato nella regione amministrativa.
La versione della piattaforma è la versione dei cluster GKE collegati da installare sul tuo 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 Google Cloud posizione 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 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.
Collega un cluster EKS
Per collegare il cluster EKS a Google Cloud Fleet Management, 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 EKS_CLUSTER_NAME
Recupera l'URL emittente OIDC con il seguente comando:
aws eks describe-cluster \ --region AWS_REGION \ --name EKS_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 un secondo momento.
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 tuo cluster. Questo nome può essere lo stesso EKS_CLUSTER_NAME che hai utilizzato nei passaggi precedenti. Il CLUSTER_NAME deve essere conforme allo standard RFC 1123 per i nomi delle etichette.
- GOOGLE_CLOUD_REGION: la Google Cloud regione 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 nel file kubeconfig per accedere al cluster EKS, come estratto in precedenza
KUBECONFIG_PATH: il percorso del file kubeconfig
Autorizza Cloud Logging / Cloud Monitoring
Affinché i cluster collegati a GKE possano creare e caricare log e metriche di sistema in Google Cloud, devono essere autorizzati.
Per autorizzare l'identità del workload Kubernetes gke-system/gke-telemetry-agent
a scrivere log in Google Cloud Logging e 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.
Questo binding IAM concede l'accesso a tutti i cluster nel 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 tuo 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
provisionato fino alla creazione del cluster.