Panoramica
Terraform è uno strumento open source per la configurazione di ambienti cloud come AWS e l'installazione di software come Kubernetes. Puoi configurare il tuo ambiente AWS e creare i tuoi cluster con Terraform o con le istruzioni di installazione di GKE su AWS.
Questa pagina descrive come utilizzare Terraform per configurare il tuo ambiente AWS e installare un cluster utilizzando una configurazione di esempio archiviata su GitHub. Questa pagina è rivolta ad amministratori IT e operatori che vogliono configurare, monitorare e gestire l'infrastruttura cloud, automatizzare i deployment e utilizzare modelli e configurazione dichiarativa. Per scoprire di più su ruoli comuni e attività di esempio a cui facciamo riferimento nei contenuti, consulta Ruoli e attività comuni degli utenti di GKE Enterprise. Google Cloud
Per utilizzare questi script, devi avere una conoscenza di base di Terraform. In particolare, devi modificare i file di configurazione di Terraform per aggiungere le informazioni sull'utente e sul progetto e apportare le modifiche necessarie alla configurazione predefinita del cluster.
Per configurare il tuo ambiente AWS e creare cluster senza utilizzare Terraform, consulta la panoramica dei prerequisiti AWS e le istruzioni per creare un cluster.
A cosa servono gli script
Questo script configura Terraform per creare un VPC AWS ed eseguire il deployment di un cluster al suo interno. La VPC risultante soddisfa tutti i prerequisiti di GKE su AWS e ha la stessa topologia di rete della VPC creata seguendo le istruzioni per la creazione della VPC del manuale di Google.
Il cluster creato dall'insieme di script ha le seguenti caratteristiche:
- tre nodi del piano di controllo (uno in ciascuna delle tre zone di disponibilità configurate). Questi nodi sono di tipo t3.large.
- Un pool di nodi con due nodi di tipo t3.large.
Questo pool di nodi viene disegnato nella regione AWS
us-east-1
e può essere scalato automaticamente fino a cinque nodi.
Come modificare la VPC e il cluster predefiniti
Puoi modificare le caratteristiche del VPC e del cluster creati dagli script Terraform modificando i file Terraform appropriati.
- Modifica la regione e le zone di disponibilità modificando il file
variables.tf
. - Modifica il tipo di istanza AWS.
- Modifica le caratteristiche del VPC, tra cui le subnet, le zone di disponibilità e il bilanciatore del carico, modificando i file nella sottocartella
modules/vpc
.
Per un elenco delle regioni AWS controllate da una determinata Google Cloud regione e delle relative versioni Kubernetes associate, esegui il seguente comando:
gcloud container aws get-server-config --location `GOOGLE_CLOUD_REGION`
Sostituisci GOOGLE_CLOUD_REGION
con il nome della
Google Cloud regione da cui vuoi
che GKE on AWS controlli il tuo cluster.
Prerequisiti
Installa Google Cloud CLI seguendo le istruzioni di installazione di Google Cloud CLI. Se l'hai già installato, segui queste istruzioni per assicurarti di utilizzare la versione 412.0.0 o successive.
Installa l'interfaccia a riga di comando AWS con le istruzioni di installazione dell'interfaccia a riga di comando AWS.
Crea le tue chiavi di accesso AWS.
Configura il tuo ambiente AWS locale con il seguente comando:
aws configure
Prepara Terraform
Configura l'autenticazione di Google Cloud CLI eseguendo i seguenti comandi:
gcloud config set project GOOGLE_PROJECT_ID gcloud auth application-default login --no-launch-browser
Abilita i servizi richiesti nel tuo Google Cloud progetto.
gcloud --project="GOOGLE_PROJECT_ID" services enable \ gkemulticloud.googleapis.com \ gkeconnect.googleapis.com \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com \ logging.googleapis.com \ monitoring.googleapis.com \ opsconfigmonitoring.googleapis.com
Sostituisci
GOOGLE_PROJECT_ID
con l'ID del tuo progetto Google.Crea una copia locale del repository e passa alla cartella
AWS
:git clone https://github.com/GoogleCloudPlatform/anthos-samples.git cd anthos-samples/anthos-multi-cloud/AWS
Esegui il deployment di GKE su AWS
Modifica le seguenti righe nel file
terraform.tfvars
per sostituire i valori predefiniti:gcp_project_id = GOOGLE_PROJECT_ID admin_users = ["GCP_ACCOUNT_EMAIL"] cluster_version = GKE_VERSION
Sostituisci quanto segue:
GOOGLE_PROJECT_ID
: il tuo ID progetto Google. Puoi trovarlo sul lato sinistro della pagina della dashboard della Google Cloud console.ACCOUNT_EMAILS
: un elenco separato da virgole di indirizzi email che possono accedere ai cluster dopo la loro creazione, ad esempio"admin@example.com","operator@example.com"
. Per almeno un indirizzo deve essere presente un Google Cloud account. Per aggiungere altri provider di identità al tuo cluster, consulta Gestire le identità con GKE Identity Service.GKE_VERSION
: una versione GKE supportata per la regione scelta. Per trovare le versioni supportate, consulta Controllo delle versioni e assistenza di GKE su AWS.
Inizializza e crea il piano Terraform:
terraform init
Terraform installa le librerie necessarie, ad esempio il provider Google Cloud.
Applica il piano Terraform per creare il virtual private cloud e il cluster AWS:
terraform apply
Segui le istruzioni per iniziare a creare un cluster.
L'installazione richiede circa 12 minuti. Quando Terraform completa la creazione del virtual private cloud e del cluster AWS, stampa le informazioni sul cluster e crea un file denominato var.sh
. Puoi utilizzare i valori in questo file se crei
altri pool di nodi.
Per verificare che il cluster sia stato creato correttamente, controlla che venga visualizzato nella pagina Kubernetes Engine della Google Cloud console nel tuo Google Cloud progetto.
Connessione al tuo cluster
Per verificare la connettività al cluster e recuperarne i dettagli, esegui il seguente comando:
gcloud container fleet memberships get-credentials CLUSTER_NAME
kubectl get nodes
Sostituisci CLUSTER_NAME
con il nome del cluster. Puoi trovare il nome del cluster nel file di output Terraform var.sh
.
L'output include un elenco dei nodi del cluster e il relativo stato.
Elimina il cluster e il cloud privato virtuale AWS
Prima di eliminare il cluster e il cloud privato virtuale AWS, devi rimuovere quanto segue:
- Eventuali bilanciatori del carico AWS attivi nel virtual private cloud AWS
- Eventuali pool di nodi aggiuntivi nel cluster non creati con Terraform
- Eventuali cluster aggiuntivi in AWS Virtual Private Cloud non creati con Terraform
Per rimuovere il cluster e il virtual private cloud AWS che hai creato con Terraform, esegui il seguente comando:
terraform destroy
Terraform estrae i carichi di lavoro dai nodi, elimina il pool di nodi e il cluster principali ed elimina il Virtual Private Cloud AWS.
Autorizza Cloud Logging e Cloud Monitoring
Se vuoi attivare Cloud Logging e Cloud Monitoring, devi aggiungere un criterio di autorizzazione al tuo Google Cloud progetto dopo aver creato un cluster.
Aggiungi un criterio di autorizzazione con Google Cloud CLI:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter
Sostituisci PROJECT_ID
con l'ID progetto.
Passaggi successivi
- Per scoprire di più sul logging degli eventi dei cluster centralizzati di Google, consulta Cloud Logging.
- Per informazioni sugli strumenti di Cloud Monitoring di Google, consulta Cloud Monitoring.
- Per installare la gestione della configurazione centralizzata, consulta Configurare un cluster con Config Controller.
Per saperne di più sugli script Terraform GKE su AWS, consulta