Zmienne i wartości wyjściowe
Nauczą się Państwo używać zmiennych wejściowych, aby konfiguracje były elastyczne i wielokrotnego użytku, oraz wartości wyjściowych do pobierania ważnych informacji z wdrożonej infrastruktury.
Zmienne i wartości wyjściowe to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Elastyczne konfiguracje
Terraform umożliwia definiowanie infrastruktury jako kodu. Co jednak zrobić, jeśli chce Pan/Pani ponownie użyć kodu dla różnych środowisk lub ustawień?
W tym miejscu przydają się zmienne i wartości wyjściowe. Sprawiają, że konfiguracje są elastyczne i łatwe w zarządzaniu.
Zmienne wejściowe: elastyczność
Zmienne wejściowe działają jak parametry konfiguracji Terraform. Umożliwiają dostosowywanie elementów infrastruktury bez zmieniania podstawowego kodu.
- Zapobiegają wpisywaniu wartości bezpośrednio w konfiguracji.
- Sprawiają, że moduły i konfiguracje można wielokrotnie wykorzystywać.
- Umożliwiają stosowanie różnych wartości w różnych środowiskach, np. deweloperskim i produkcyjnym.
Deklarowanie zmiennych
Zmienne wejściowe deklaruje się w pliku .tf, często o nazwie variables.tf. Każda zmienna musi mieć unikalną nazwę.
Oto podstawowa deklaracja:
variable "file_content" {
description = "Content to write to a local file."
type = string
}Typy i wartości domyślne
Zmienne mogą mieć różne typy, takie jak string, number, bool, list lub map. Można także podać wartość domyślną, dzięki czemu zmienna będzie opcjonalna.
variable "environment" {
description = "The deployment environment (e.g., dev, prod)."
type = string
default = "dev"
}
variable "instance_count" {
description = "Number of instances."
type = number
default = 1
}Używanie zmiennych w kodzie
Po zadeklarowaniu można odwołać się do wartości zmiennej za pomocą prefiksu var., po którym należy podać jej nazwę, np. var.environment.
Dzięki temu zasoby mogą dostosowywać się na podstawie podanych danych wejściowych.
resource "local_file" "example" {
content = "Hello from ${var.environment}!"
filename = "example-${var.environment}.txt"
}Sposoby przekazywania wartości
Wartości zmiennych można przekazywać na kilka sposobów:
- Wiersz poleceń: za pomocą
-var="key=value"wraz zterraform planlubapply. - Pliki
.tfvars: należy utworzyć plik, taki jakterraform.tfvarslubdev.tfvars. - Zmienne środowiskowe: za pomocą
TF_VAR_name=value.
Plik terraform.tfvars jest często używany do ustawiania wartości:
# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."Wartości wyjściowe: wyodrębnianie informacji
Tak jak zmienne wejściowe umożliwiają przekazywanie danych do konfiguracji, wartości wyjściowe pozwalają wyodrębniać dane z konfiguracji.
- Wyświetlanie ważnych informacji o wdrożonych zasobach (np. adresów IP i adresów URL).
- Przekazywanie danych między konfiguracjami Terraform, szczególnie podczas korzystania z modułów.
- Ułatwianie sprawdzania, co zostało utworzone przez Terraform.
Deklarowanie wartości wyjściowych
Wartości wyjściowe deklaruje się w pliku .tf, często o nazwie outputs.tf. Każda wartość wyjściowa musi mieć unikalną nazwę i argument value.
output "file_name" {
description = "The name of the generated local file."
value = local_file.example.filename
}Wyświetlanie wartości wyjściowych
Po uruchomieniu terraform apply można wyświetlić wartości wyjściowe za pomocą polecenia terraform output.
Argument value zwykle odwołuje się do atrybutu zasobu, na przykład resource_type.resource_name.attribute.
# After 'terraform apply', run:
terraform output file_nameZmienne i wartości wyjściowe w praktyce
Połączmy teraz zdobytą wiedzę. Ten przykład używa zmiennych dla treści i środowiska oraz udostępnia nazwę pliku i jego treść jako wartości wyjściowe. Proszę utworzyć te trzy pliki w jednym katalogu:
# main.tf
terraform {
required_providers {
local = {
source = "hashicorp/local"
version = "~> 2.1"
}
}
}
resource "local_file" "message" {
content = var.greeting_message
filename = "hello_${var.env}.txt"
}
# variables.tf
variable "greeting_message" {
description = "The message content for the file."
type = string
default = "Hello CoddyKit!"
}
variable "env" {
description = "Environment name."
type = string
default = "dev"
}
# outputs.tf
output "generated_filename" {
description = "The full path of the generated file."
value = local_file.message.filename
}
output "file_content_used" {
description = "The content actually written to the file."
value = local_file.message.content
}Szybkie sprawdzenie: zmienne i wartości wyjściowe
Które z poniższych stwierdzeń dotyczących zmiennych i wartości wyjściowych Terraform są PRAWDZIWE?
Podsumowanie: zmienne i wartości wyjściowe
Świetnie! Dowiedzieli się Państwo, jak tworzyć dynamiczne konfiguracje Terraform:
- Zmienne wejściowe umożliwiają definiowanie parametrów infrastruktury.
- Wartości zmiennych można przekazywać za pomocą interfejsu CLI, plików
.tfvarslub zmiennych środowiskowych. - Wartości wyjściowe pomagają wyodrębniać i wyświetlać ważne informacje o wdrożonych zasobach.
W następnej części dowiedzą się Państwo, jak Terraform śledzi infrastrukturę za pomocą zarządzania stanem!
Często zadawane pytania
Czy lekcja „Zmienne i wartości wyjściowe” jest bezpłatna?
Tak — pełny tekst „Zmienne i wartości wyjściowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Zmienne i wartości wyjściowe”?
Nauczą się Państwo używać zmiennych wejściowych, aby konfiguracje były elastyczne i wielokrotnego użytku, oraz wartości wyjściowych do pobierania ważnych informacji z wdrożonej infrastruktury. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zmienne i wartości wyjściowe”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dostawcy i zasoby
- Zmienne i wartości wyjściowe
- Podstawy zarządzania stanem
- Moduły i ponowne używanie kodu