Terraform, utviklet av Hashicorp, er en infrastruktur som et kodeverktøy. Det lar deg levere skyinfrastruktur på en rask og effektiv måte. Ved hjelp av Terraform kan du bygge, endre og ødelegge skyressurser i noen få kodelinjer. Det støtter skyleverandører som Amazon AWS, Google Cloud, Microsoft Azure og mer, inkludert tilpasset skyinfrastruktur.
Denne opplæringen vil lære om det avhenger av meta -argumentet du kan bruke når du leverer ressurser i skyen.
Forutsetninger
Før vi fortsetter med opplæringen, må du:
FORSIKTIG: Vi vil bruke Google Cloud som leverandør for eksempler på konfigurasjoner og prøver. Du kan også velge andre støttede leverandører. Koden i denne opplæringen er imidlertid ikke testet på andre leverandører.
Hva er terraform avhengig av_on?
Depends_on er en metakode som lar deg spesifisere avhengigheter mellom ressurser og moduler. For eksempel kan du ha en Google Cloud -forekomst som avhenger av en spesifikk bøtte. Å bruke det avhengige_on -taggen lar terraform lage eller ødelegge ressursene riktig. Når Terraform ser AFFEMS -modulen, vil den først opprette eller drepe bøtta før de utfører handlingene som er spesifisert i forekomsten.
For å bruke Depends_on -parameteren på modul og ressursblokker, må du forsikre deg om at du har Terraform Version 0.13 og over.
Eksempel Bruk sak
La oss bruke et enkelt eksempel for å illustrere Depends_on -argumentet i Terraform.
Merk: Vi antar at du har Terraform CLI installert og brukt konfigurasjonene dine for din spesifikke leverandør.
Begynn med å lage en fungerende katalog som:
mkdir terraform-tutorials
Naviger til den opprettede katalogen:
CD Terraform-Tutorials
Lag en Terraform -fil og ring den avhenger av_on.tf
berøring avhenger_on.tf
Deretter bruker du favorittredigereren din, legg til et eksempel på konfigurasjonsfil som vist:
terraform
krevde_providers
aws =
kilde = "Hashicorp/Google"
leverandør "google"
legitimasjon = fil ("GCP-CONF.json ")
Project = "Fine-Climber-318807"
Region = "US-Central1"
sone = "US-Central1-C"
ressurs "google_storage_bucket" "my_archive"
name = "my_archive"
Sted = "US-Central1-A"
data "google_compute_image" "my_ubuntu_image"
familie = "ubuntu-20"
Project = "Fine-Climber-318807"
ressurs "google_compute_instance" "standard"
name = "Ubuntu-Instance"
machine_type = "e2-mikro"
sone = "us-central1-a"
boot_disk
initialize_params
image = "data.google_compute_image.my_ubuntu_image.self_link "
skrap_disk
grensesnitt = "SCSI"
Network_Interface
Network = "Standard"
Access_Config
avhenger_on = [google_storage_bucket.my_archive]
Lagre filen og lukk redigereren.
I eksemplet Terraform -filen starter vi med å sette opp leverandøren som Google og legge til alle nødvendige legitimasjon.
Merk: Sjekk dokumentasjonen for å lære hvordan du konfigurerer terraform for Google Cloud.
Deretter lager vi en Google Cloud -bøtte og gir alle nødvendige parametere. Deretter lager vi en beregningsmotorforekomst som avhenger av den opprettede lagringsbøtten.
Kontroller konfigurasjonsfilen inneholder ingen syntaksfeil som:
ubuntu@cs: ~/terraform-tutorials $ terraform validering
Suksess! Konfigurasjonen er gyldig.
Hvis konfigurasjonen er gyldig, bør du se en suksessmelding, som vist ovenfor.
Kjør filen for å levere de nødvendige ressursene som:
Terraform gjelder
Skriv inn "ja" i ledeteksten for å bekrefte endringene.
Hvis du har Google Cloud -detaljene konfigurert riktig, vil Terraform gi de spesifiserte ressursene.
Pakk opp
Denne opplæringen introduserer deg for Terraformen avhenger av parameter og hvordan du kan lage avhengigheter for ressurser og moduler. Hvis du er ny i Terraform, sjekk dokumentasjonen for å lære mer.