0Pricing
DevOps Bootcamp · Lekcja

Zarządzanie rozbieżnością stanu i uzgadnianiem

Wykrywaj, diagnozuj i uzgadniaj rozbieżności — różnice między stanem Terraform a rzeczywistą infrastrukturą — zanim spowodują awarie lub nieoczekiwane zmiany.

Zarządzanie rozbieżnością stanu i uzgadnianiem to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 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.

Czym jest drift?

Drift występuje, gdy rzeczywista infrastruktura zmienia się poza Terraform, inżynier modyfikuje ustawienie w konsoli lub innego zasobu dotyczy zmiana wykonana przez inne narzędzie. Stan i rzeczywistość przestają się zgadzać, a kolejne apply może nieoczekiwanie cofnąć lub nadpisać te zmiany.

Wykrywanie driftu za pomocą plan

Zwykłe polecenie terraform plan odświeża stan i pokazuje różnice. Jeśli zasób uległ driftowi, plan zgłasza zmiany, których nie wprowadzono w kodzie.

terraform plan

Plan tylko do odświeżenia

Aby zobaczyć drift bez proponowania zmian w konfiguracji, użyj planu typu refresh-only. Aktualizuje on stan tak, aby odpowiadał rzeczywistości, i pokazuje występujące różnice.

terraform plan -refresh-only

Odczytywanie raportu o driftcie

Terraform oznacza atrybuty dotknięte driftem wykrytą zmianą. Tylda oznacza zmianę w miejscu, a para minus/plus wskazuje, że wartość została dodana lub usunięta poza Terraform.

# aws_instance.web has changed
  ~ instance_type = "t3.micro" -> "t3.small"

Dwa sposoby uzgodnienia

Po wykryciu driftu należy wybrać kierunek działania:

  • Zaakceptować rzeczywistość — zaktualizować kod, aby odpowiadał nowemu stanowi.
  • Przywrócić kod — wykonać apply, aby przywrócić infrastrukturę do stanu określonego w konfiguracji.

Akceptowanie driftu w stanie

Jeśli ręczna zmiana była zamierzona, uruchom apply -refresh-only, aby zapisać rzeczywisty stan, a następnie zaktualizuj kod, aby mu odpowiadał i aby przyszłe plany nie wykazywały różnic.

terraform apply -refresh-only

Cofanie driftu

Jeśli zmiana była nieautoryzowana, zwykłe terraform apply przywraca infrastrukturę do zadeklarowanej konfiguracji, cofając ręczną edycję.

terraform apply

Wybieranie pojedynczego zasobu

W przypadku punktowej poprawki parametr -target ogranicza operację do jednego zasobu. Używaj go oszczędnie, ponieważ może ukryć szerszy drift.

terraform apply -target=aws_instance.web

Zapobieganie pozornemu driftowi

Niektórymi atrybutami zarządza AWS lub inne narzędzia. Użyj ignore_changes, aby Terraform przestał z nimi walczyć.

resource "aws_instance" "web" {
  lifecycle {
    ignore_changes = [tags["LastScanned"]]
  }
}

Ciągłe wykrywanie driftu

Wykrywaj drift wcześnie, uruchamiając w CI zaplanowany plan typu refresh-only. Terraform Cloud oferuje wbudowane wykrywanie driftu i powiadamia, gdy stan rozmija się z rzeczywistością.

on:
  schedule:
    - cron: "0 6 * * *"

Kultura ważniejsza niż narzędzia

Najlepszą ochroną przed driftem jest proces: ogranicz uprawnienia do zapisu w konsoli, kieruj wszystkie zmiany przez Terraform i traktuj ręczne edycje jako incydenty. Narzędzia wykrywają drift, ale zapobiega mu dyscyplina.

Szybki test

Sprawdź swoją wiedzę na temat zarządzania driftem.

Podsumowanie: utrzymywanie zgodności stanu z rzeczywistością

Potrafi Pan/Pani teraz obsługiwać drift:

  • Wykrywać go za pomocą plan lub plan -refresh-only.
  • Akceptować go przez apply -refresh-only oraz aktualizację kodu.
  • Cofać go za pomocą zwykłego apply.
  • Używać ignore_changes i zaplanowanych kontroli, aby odpowiednio wcześnie reagować.

Często zadawane pytania

Czy lekcja „Zarządzanie rozbieżnością stanu i uzgadnianiem” jest bezpłatna?

Tak — pełny tekst „Zarządzanie rozbieżnością stanu i uzgadnianiem” 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 „Zarządzanie rozbieżnością stanu i uzgadnianiem”?

Wykrywaj, diagnozuj i uzgadniaj rozbieżności — różnice między stanem Terraform a rzeczywistą infrastrukturą — zanim spowodują awarie lub nieoczekiwane zmiany. Ć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 4 z 4.

Ile czasu zajmuje lekcja „Zarządzanie rozbieżnością stanu i uzgadnianiem”?

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

  1. Debugowanie konfiguracji Terraform
  2. Strategie optymalizacji wydajności
  3. Odzyskiwanie po awarii za pomocą Terraform
  4. Zarządzanie rozbieżnością stanu i uzgadnianiem
← Powrót do DevOps Bootcamp