Podstawy zarządzania stanem
Poznają Państwo koncepcję stanu Terraform, jego znaczenie w śledzeniu wdrożonych zasobów oraz sposób zarządzania lokalnym plikiem stanu.
Podstawy zarządzania stanem to bezpłatna lekcja Terraform Infrastructure as Code na CoddyKit. To lekcja 3 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 Terraform Infrastructure as Code, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.
Czym jest stan Terraform?
Stan Terraform działa jak pamięć infrastruktury. Jest to migawka zasobów zarządzanych przez Terraform.
Można go traktować jako kluczową bazę danych, która śledzi to, co Terraform utworzył i skonfigurował w rzeczywistym środowisku (u dostawcy chmury).
Dlaczego stan ma znaczenie
Stan ma kluczowe znaczenie, ponieważ umożliwia Terraform:
- Mapowanie zasobów: rozpoznawanie, który rzeczywisty zasób chmurowy odpowiada któremu blokowi zasobu w konfiguracji.
- Śledzenie metadanych: przechowywanie atrybutów zasobów, których nie ma w konfiguracji, takich jak identyfikatory lub adresy IP.
- Planowanie zmian: porównywanie stanu pożądanego (konfiguracji) ze stanem bieżącym (plikiem stanu) w celu ustalenia, co należy utworzyć, zaktualizować lub usunąć.
Rola stanu w procesie pracy
Po uruchomieniu terraform apply Terraform najpierw analizuje pliki .tf, aby zrozumieć, czego Państwo oczekują. Następnie sprawdza plik stanu, aby zobaczyć, co obecnie istnieje.
Porównując te dwa źródła, tworzy „plan” osiągnięcia żądanej konfiguracji infrastruktury. Po zastosowaniu zmian aktualizuje plik stanu, odzwierciedlając nowy stan rzeczywisty.
Poznajmy `terraform.tfstate`
Domyślnie Terraform przechowuje stan lokalnie w pliku o nazwie terraform.tfstate, znajdującym się w katalogu roboczym.
Ten plik jest dokumentem JSON zawierającym kompletne odwzorowanie konfiguracji na rzeczywiste zasoby.
Nasz pierwszy zasób
Użyjmy prostego zasobu null_resource, aby zobaczyć, jak tworzony jest stan. Ten zasób nie tworzy niczego w chmurze, ale Terraform nadal go śledzi.
Proszę zapisać go jako main.tf:
resource "null_resource" "my_example" {
triggers = {
always_run = timestamp()
}
}Tworzenie pliku stanu
Najpierw zainicjalizuj Terraform, a następnie zastosuj konfigurację, aby utworzyć zasób i plik terraform.tfstate.
Proszę uruchomić te polecenia w terminalu:
terraform init
terraform apply --auto-approveWyświetlanie zasobów stanu
Po zakończeniu działania apply będzie dostępny plik terraform.tfstate. Jego zawartość można sprawdzać za pomocą poleceń CLI Terraform.
Polecenie terraform state list wyświetla wszystkie zasoby śledzone w stanie:
terraform state listWyświetlanie szczegółów zasobu
Aby uzyskać szczegółowe informacje o konkretnym zasobie z pliku stanu, należy użyć polecenia terraform state show, podając adres zasobu.
Proszę wypróbować je z naszym zasobem null_resource:
terraform state show null_resource.my_exampleNie edytuj stanu ręcznie!
Plik terraform.tfstate ma kluczowe znaczenie i jest złożony. Nigdy nie należy edytować go bezpośrednio ręcznie.
Ręczne zmiany mogą uszkodzić stan i doprowadzić do:
- niespójności infrastruktury,
- utraty przez Terraform informacji o zasobach,
- nieoczekiwanego usunięcia lub utworzenia zasobów.
Do modyfikowania stanu należy zawsze używać poleceń CLI Terraform (takich jak terraform state mv).
Sprawdzenie zarządzania stanem
Które z poniższych stwierdzeń dotyczących stanu Terraform są prawdziwe?
Podsumowanie zarządzania stanem
W tej lekcji omówiliśmy stan Terraform — kluczowy element śledzenia infrastruktury.
- Dowiedzieli się Państwo, że stan odwzorowuje konfigurację na rzeczywiste zasoby.
- Lokalny plik stanu nosi nazwę
terraform.tfstate. - Polecenia takie jak
terraform state listiterraform state showpomagają sprawdzać stan. - Nigdy nie należy ręcznie edytować pliku stanu, aby uniknąć jego uszkodzenia.
Zrozumienie stanu jest podstawą efektywnego korzystania z Terraform!
Często zadawane pytania
Czy lekcja „Podstawy zarządzania stanem” jest bezpłatna?
Tak — pełny tekst „Podstawy zarządzania stanem” 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 Terraform Infrastructure as Code, przejdź na CoddyKit PRO. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy zarządzania stanem”?
Poznają Państwo koncepcję stanu Terraform, jego znaczenie w śledzeniu wdrożonych zasobów oraz sposób zarządzania lokalnym plikiem stanu. Ćwiczysz Terraform Infrastructure as Code 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ąć Terraform Infrastructure as Code?
Nie wymagamy żadnego doświadczenia. Terraform Infrastructure as Code 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 3 z 4.
Ile czasu zajmuje lekcja „Podstawy zarządzania stanem”?
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 Terraform Infrastructure as Code?
Tak. Każda lekcja Terraform Infrastructure as Code 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