Google Cloud Configurazione aiuta gli amministratori a configurare una Google Cloud base utilizzando un flusso guidato ed eseguire il deployment direttamente dalla console Google Cloud o scaricare come Terraform.
Questo documento ti aiuta a eseguire il deployment del file Google Cloud Setup Terraform.
Prima di iniziare
Consulta le best practice per l'utilizzo di Terraform, che includono linee guida per lo sviluppo efficace con Terraform tra i membri del team e i flussi di lavoro.
Se hai già eseguito il deployment della configurazione di base facendo clic sul pulsante Esegui deployment nella console e ora vuoi eseguire il deployment di una configurazione Terraform scaricata utilizzando la tua pipeline, devi procedere nel seguente modo:
- Scarica il file di stato Terraform generato dalla console.
- Includi il file di stato scaricato nel tuo processo della pipeline.
Per saperne di più, vedi Eseguire il deployment di Terraform scaricato dopo il deployment dalla console.
Esegui il deployment di Terraform con Cloud Shell
Cloud Shell è preinstallato e preautenticato con Terraform, così puoi iniziare rapidamente.
- Nella guida alla configurazione nella console, fai clic su Scarica come Terraform e salva la configurazione.
- Apri Cloud Shell.
In Cloud Shell, crea una directory e vai al suo interno:
mkdir cloud-foundation-example && cd cloud-foundation-example
Carica la configurazione Terraform che hai scaricato nel passaggio 1.
Dal menu Altro di Cloud Shell, seleziona Carica e poi fai clic su Scegli file per selezionare la configurazione Terraform. Imposta la directory di destinazione sulla cartella che hai creato nel passaggio precedente, quindi fai clic su Carica.
Assicurati di trovarti nella directory
cloud-foundation-example.Crea un bucket Cloud Storage per archiviare lo stato remoto di Terraform. Uno stato remoto consente a Terraform di utilizzare object store come Cloud Storage per archiviare le informazioni sullo stato dell'infrastruttura gestita da Terraform. Questa configurazione offre vantaggi come la delega del team e il blocco dello stato.
Per creare il bucket Cloud Storage, esegui questo comando:
gcloud storage buckets create gs://tf-state-PROJECT_ID
Definisci una configurazione del backend Terraform all'interno di un file
backend.tfe sostituisci PROJECT_ID in modo che corrisponda all'ID progetto utilizzato nel passaggio precedente. Per maggiori dettagli, consulta Archiviare lo stato di Terraform in Cloud Storage.# backend.tf terraform { backend "gcs" { bucket = "tf-state-PROJECT_ID" prefix = "terraform/state" } }Esegui
terraform init. Questo processo inizializza la directory di lavoro contenente i file di configurazione di Terraform e il backend.Esegui
terraform planper visualizzare le risorse create da Terraform. Output di esempio:... Plan: 6 to add, 0 to change, 0 to destroy. Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
Applica la configurazione eseguendo
terraform apply, che esegue il deployment delle risorse in Google Cloud. Quando richiesto, inserisciyes.Esplora la console Google Cloud per verificare che le risorse siano ora implementate nel tuo account o progetto.
Esegui nuovamente il deployment di Terraform con Cloud Shell
Terraform memorizza le informazioni sulle risorse di cui è stato eseguito il deployment nel file di stato di Terraform. Se hai seguito i passaggi precedenti per il deployment della configurazione, ti consigliamo vivamente di riutilizzare lo stesso backend per rilevare, eliminare e aggiornare automaticamente le risorse definite dalla nuova configurazione esportata.
- Dalla guida alla configurazione nella console, fai clic su Scarica come Terraform e salva la configurazione.
- Apri Cloud Shell.
- In Cloud Shell, crea una nuova directory e vai al suo interno:
mkdir cloud-foundation-example-redeploy && cd cloud-foundation-example-redeploy
Carica la configurazione Terraform che hai scaricato nel passaggio 1.
Dal menu Altro di Cloud Shell, seleziona Carica e poi fai clic su Scegli file per selezionare la configurazione Terraform. Imposta la directory di destinazione sulla cartella creata nel passaggio precedente, quindi fai clic su Carica.
Assicurati di trovarti nella directory
cloud-foundation-example-redeploy.Assicurati che il bucket backend Cloud Storage e il file di stato creati in precedenza esistano.
Output di esempio:gcloud storage ls gs://tf-state-PROJECT_ID/terraform/state/
gs://tf-state-PROJECT_ID/terraform/state/default.tfstate
Definisci una configurazione del backend Terraform all'interno di un file
backend.tfriutilizzando lo stesso bucket e lo stesso prefisso.# backend.tf terraform { backend "gcs" { bucket = "tf-state-PROJECT_ID" prefix = "terraform/state" } }Esegui
terraform init. Questo processo inizializza la directory di lavoro contenente i file di configurazione di Terraform e il backend.Esegui
terraform planper visualizzare le risorse create, modificate o eliminate da Terraform. Output di esempio:... Plan: 2 to add, 3 to change, 4 to destroy. Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
Applica la configurazione eseguendo
terraform apply, che esegue il deployment delle risorse in Google Cloud. Quando richiesto, inserisciyes.Esplora la console Google Cloud per verificare che le risorse siano ora implementate nel tuo account o progetto.
Esegui il deployment di Terraform scaricato dopo il deployment dalla console
Se hai già eseguito il deployment della configurazione di base utilizzando il pulsante Esegui il deployment nella console, è stato generato un file di stato Terraform. Se ora vuoi scaricare la configurazione Terraform per il deployment utilizzando la tua pipeline, devi includere il file di stato Terraform generato durante il deployment della console.
Per scaricare e utilizzare il file di stato:
Per scaricare il file di stato Terraform, completa le seguenti procedure in Gestire il file di stato Terraform:
Per spostare il file di stato scaricato in un bucket Cloud Storage, consulta Archiviare lo stato di Terraform in un bucket Cloud Storage.
Per eseguire nuovamente il deployment della configurazione Terraform, consulta Eseguire nuovamente il deployment di Terraform con Cloud Shell.
Risoluzione dei problemi di deployment di Terraform
Esegui il deployment di Terraform con risorse esistenti
Se la configurazione Terraform scaricata tenta di creare risorse che
esistono già, Terraform esce con un
codice di errore 409.
Per risolvere questi errori, puoi eliminare la risorsa utilizzando la consoleGoogle Cloud o gcloud CLI, quindi applicare nuovamente la configurazione di Terraform.
In alternativa, se queste risorse sono fondamentali e non possono essere eliminate, puoi
importarle
nel tuo stato di Terraform.
Gestire l'infrastruttura come codice con Terraform, Cloud Build e GitOps
Per istruzioni complete, ti consigliamo di seguire questo tutorial. Questa opzione è pensata per gli amministratori e gli operatori della piattaforma che cercano una strategia per apportare modifiche all'infrastruttura in modo prevedibile e ripetuto. La guida presuppone che tu abbia familiarità con Google Cloud, Linux e GitHub. I passaggi di questa opzione a livello generale sono i seguenti:
- Configura il repository GitHub.
- Configura Terraform in modo da archiviare lo stato in un bucket Cloud Storage.
- Concedi le autorizzazioni al account di servizio Cloud Build.
- Connetti Cloud Build al tuo repository GitHub.
- Modifica la configurazione dell'ambiente in un ramo delle funzionalità.
- Promuovi le modifiche nell'ambiente di sviluppo.
- Promuovi le modifiche all'ambiente di produzione.