Jak korzystać z terraform, zależy

Jak korzystać z terraform, zależy
Wraz z rozwojem przetwarzania w chmurze na przestrzeni lat konieczna stała się potrzeba zautomatyzowanych i szybkich narzędzi do zarządzania nimi. Terraform jest jednym z tych narzędzi.

Terraform, opracowany przez Hashicorp, jest infrastrukturą jako użyteczność kodową. Pozwala na dostarczanie infrastruktury w chmurze w szybki i wydajny sposób. Korzystając z Terraform, możesz budować, modyfikować i niszczyć zasoby w chmurze w kilku wierszach kodu. Obsługuje dostawców chmur, takich jak Amazon AWS, Google Cloud, Microsoft Azure i inne, w tym niestandardowa infrastruktura w chmurze.

Ten samouczek nauczy o argumencie Meta_on, którego można użyć, gdy udostępnianie zasobów w chmurze.

Wymagania wstępne

Zanim przejdziemy do samouczka, będziesz musiał:

  • Zapoznaj się z językiem Terraform i użyj go do tworzenia zasobów.
  • Niech CLI Terraform zainstalowane i skonfigurowane w systemie.

Uwaga: użyjemy Google Cloud jako dostawcy przykładowych konfiguracji i próbek. Możesz także wybrać innych obsługiwanych dostawców. Jednak kod w tym samouczku nie jest testowany u innych dostawców.

Co to jest Terraform, zależy?

Zależność to metatag, który pozwala określić zależności między zasobami i modułami. Na przykład możesz mieć instancję Google Cloud, która zależy od konkretnego wiadra. Korzystanie z znacznika Zależności Umożliwia Terraform na prawidłowe tworzenie lub niszczenie zasobów. Kiedy Terraform zobaczy moduł Zależności, najpierw utworzy lub zabije wiadro przed wykonaniem działań określonych w instancji.

Aby użyć parametru Zależności_on na blokach modułu i zasobów, upewnij się, że masz Terraform w wersji 0.13 i powyżej.

Przykładowy przypadek użycia

Użyjmy prostego przykładu, aby zilustrować argument Zależności w teraform.

Uwaga: Zakładamy, że masz zainstalowane CLI Terraform i zastosowałeś swoje konfiguracje dla konkretnego dostawcy.

Zacznij od utworzenia działającego katalogu jako:

Mkdir Terraform-Weorials

Przejdź do stworzonego katalogu:

CD Terraform-Weorials

Utwórz plik terraform i nazwij go zależnym.tf

dotyk zależy od_on.tf

Następnie, używając swojego ulubionego edytora, dodaj przykładowy plik konfiguracyjny, jak pokazano:

Terraform
wymagane_providers
AWS =
źródło = "Hashicorp/Google"



Dostawca „Google”
plik poświadczenia = plik ("GCP-conf.JSON ”)
Project = "Fine-Climber-318807"
region = „US-Central1”
Zone = „US-Central1-C”

Zasób „Google_storage_bucket” „my_archive”
name = "my_archive"
lokalizacja = "us-central1-a"

Dane „Google_Comput_image” „my_ubuntu_image”
Family = "Ubuntu-20"
Project = "Fine-Climber-318807"

Zasób „Google_Comput_Instance” „Domyślny”
name = "Ubuntu-instance"
maszyn_type = "e2-micro"
Zone = „US-Central1-A”
boot_disk
inicjalize_params
Image = "Dane.Google_Comput_image.my_ubuntu_image.self_link "


scratch_disk
interfejs = „SCSI”

Interfejs sieciowy
network = "domyślnie"
access_config


Zależność_on = [Google_storage_bucket.my_archive]

Zapisz plik i zamknij edytor.

W przykładowym pliku TerraForm zaczynamy od skonfigurowania dostawcy, takiego jak Google i dodania wszystkich wymaganych poświadczeń.

Uwaga: Sprawdź dokumentację, aby dowiedzieć się, jak skonfigurować Terraform dla Google Cloud.

Następnie tworzymy wiadro Google Cloud i podajemy wszystkie wymagane parametry. Następnie tworzymy instancję silnika obliczeniowego, która zależy od utworzonego wiadra pamięci.

Sprawdź, czy plik konfiguracyjny nie zawiera błędu składni jako:

Ubuntu@CS: ~/Terraform-Tutorials $ Terraform Validate
Powodzenie! Konfiguracja jest ważna.

Jeśli konfiguracja jest poprawna, powinieneś zobaczyć komunikat sukcesu, jak pokazano powyżej.

Uruchom plik, aby zapewnić wymagane zasoby jako:

Zastosuj terraform

Wpisz „Tak” w wierszu do potwierdzenia zmian.

Jeśli masz prawidłowe skonfigurowane szczegóły Google Cloud, Terraform zapewni określone zasoby.

Zakończyć

Ten samouczek wprowadza Cię do terraform, zależy parametr_onu i sposób tworzenia zależności dla zasobów i modułów. Jeśli jesteś nowy w Terraform, sprawdź dokumentację, aby dowiedzieć się więcej.