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ł:
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.