Come usare Terraform dipende_on

Come usare Terraform dipende_on
Con l'ascesa del cloud computing nel corso degli anni, è diventata necessaria la necessità di strumenti automatizzati e veloci per gestirli. Terraform è uno di questi strumenti.

Terraform, sviluppato da Hashicorp, è un'infrastruttura come utilità di codice. Ti consente di provocare l'infrastruttura cloud in modo rapido ed efficiente. Usando Terraform, è possibile creare, modificare e distruggere le risorse cloud in alcune righe di codice. Supporta provider cloud come Amazon AWS, Google Cloud, Microsoft Azure e altro, inclusa l'infrastruttura cloud personalizzata.

Questo tutorial insegnerà sull'argomento dipendente_on che puoi usare quando si esegue il provisioning nel cloud.

Prerequisiti

Prima di procedere con il tutorial, dovrai:

  • Conoscere il linguaggio Terraform e usarlo per creare risorse.
  • Chiedi a Terraform CLI installato e configurato sul sistema.

ATTENZIONE: Utilizzeremo Google Cloud come provider per le configurazioni e i campioni di esempio. Puoi anche optare per altri fornitori supportati. Tuttavia, il codice in questo tutorial non viene testato su altri provider.

Cos'è Terraform dipende_on?

Dipende_on è un meta tag che consente di specificare le dipendenze tra risorse e moduli. Ad esempio, puoi avere un'istanza di Google Cloud che dipende da un secchio specifico. L'uso del tag dipendS_on consente a Terraform di creare o distruggere correttamente le risorse. Quando Terraform vede il modulo Dipens_on, creerà prima il secchio prima di eseguire le azioni specificate in istanza.

Per utilizzare il parametro Dipends_on sui blocchi di modulo e risorse, assicurati di avere Terraform versione 0.13 e sopra.

Esempio di utilizzo

Usiamo un semplice esempio per illustrare l'argomento dipende in terraform.

Nota: supponiamo che tu abbia Terraform CLI installato e applicato le tue configurazioni per il tuo provider specifico.

Inizia creando una directory di lavoro come:

MKDIR Terraform-Tutorials

Passare alla directory creata:

CD Terraform-Tutorials

Crea un file Terraform e chiamalo dipende_on.tf

Il tocco dipende_on.tf

Quindi, utilizzando il tuo editor preferito, aggiungi un file di configurazione di esempio come mostrato:

Terraform
richiesto_providers
aws =
Source = "Hashicorp/Google"



Provider "Google"
Credentials = File ("GCP-CONF.json ")
Project = "Fine-Climber-318807"
regione = "US-CENTRAL1"
zone = "US-CENTRAL1-C"

risorsa "google_storage_bucket" "my_archive"
name = "my_archive"
posizione = "US-CENTRAL1-A"

Dati "Google_Compute_Image" "my_ubuntu_image"
Family = "Ubuntu-20"
Project = "Fine-Climber-318807"

risorsa "google_compute_instance" "default"
name = "ubuntu-istance"
Machine_Type = "E2-Micro"
zone = "US-CENTRAL1-A"
disco di avvio
Initialize_params
Image = "Data.Google_Compute_Image.my_ubuntu_image.self_link "


scratch_disk
interface = "SCSI"

interfaccia di rete
network = "predefinito"
Access_config


dipends_on = [google_storage_bucket.my_archive]

Salva il file e chiudi l'editor.

Nell'esempio del file Terraform, iniziamo impostando il provider come Google e aggiungendo tutte le credenziali richieste.

Nota: controlla la documentazione per imparare come impostare Terraform per Google Cloud.

Successivamente, creiamo un bucket di Google Cloud e forniamo tutti i parametri richiesti. Successivamente, creiamo un'istanza del motore di calcolo che dipende dal secchio di archiviazione creato.

Verificare che il file di configurazione non contenga alcun errore di sintassi come:

Ubuntu@CS: ~/Terraform-Tutorials $ Terraform Convalida
Successo! La configurazione è valida.

Se la configurazione è valida, è necessario vedere un messaggio di successo, come mostrato sopra.

Esegui il file per fornire le risorse richieste come:

applicazione di terraform

Digitare "sì" nel prompt per confermare le modifiche.

Se hai configurato correttamente i dettagli del cloud di Google, Terraform fornirà le risorse specificate.

Incartare

Questo tutorial ti introduce al parametro Terraform dipende e come creare dipendenze per risorse e moduli. Se sei nuovo in Terraform, controlla la documentazione per saperne di più.