Ansible Academy · Lekcja

Obsługa trybu check w module

Zapewnianie bezpieczeństwa własnego kodu podczas dry run.

Lekcja 4 z 413 kroki

Obsługa trybu check w module to bezpłatna lekcja Ansible Academy 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 Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Czym jest tryb check

W trybie check użytkownicy uruchamiają playbook z opcją --check, aby wyświetlić podgląd zmian. Na hoście nie są faktycznie wprowadzane żadne modyfikacje.

ansible-playbook site.yml --check

Moduł musi jawnie go obsługiwać

Tryb check nie jest obsługiwany automatycznie. Należy zadeklarować jego obsługę, aby Ansible wiedział, że moduł obiecuje w tym trybie nie wprowadzać żadnych zmian.

Zadeklaruj obsługę w AnsibleModule

Podczas tworzenia modułu należy ustawić supports_check_mode=True. Ta flaga informuje Ansible, że kod respektuje żądania uruchomienia próbnego.

module = AnsibleModule(
  argument_spec=spec,
  supports_check_mode=True)

Odczytaj module.check_mode

W czasie działania należy sprawdzić module.check_mode. Wartość ta wynosi True, gdy użytkownik przekazał opcję --check, i na jej podstawie należy rozgałęzić logikę.

if module.check_mode:
    module.exit_json(changed=True)

Oblicz, ale nie stosuj

W trybie check nadal należy obliczyć, czy zmiana jest potrzebna. Trzeba tylko zatrzymać działanie przed zapisaniem czegokolwiek w systemie.

Raportuj przewidywaną zmianę

Należy wcześnie zakończyć działanie z prawidłową wartością changed, aby podgląd uruchomienia próbnego był wiarygodny, mimo że nic się nie wydarzyło.

if module.check_mode:
    module.exit_json(changed=needs_change)

Odczyty są zawsze bezpieczne

Odczytywanie bieżącego stanu jest bezpieczne w trybie check, ponieważ odczyt niczego nie zmienia. Należy pominąć tylko etap zapisu.

Zapomnienie o tym jest niebezpieczne

Jeśli moduł nie obsługuje trybu check, może on nadal modyfikować host podczas uruchomienia próbnego. Narusza to oczekiwania użytkownika.

Odwzoruj logikę normalnego uruchomienia

Wykrywanie zmian w trybie check powinno dokładnie odpowiadać wykrywaniu podczas normalnego uruchomienia. Nieprawidłowy podgląd jest gorszy niż brak podglądu.

Przetestuj obie ścieżki

Należy uruchomić moduł z opcją --check i bez niej. Proszę potwierdzić, że uruchomienie próbne zgłasza tę samą wartość changed, a jednocześnie nie zmienia systemu.

Tryb check buduje zaufanie

Moduł respektujący tryb check pozwala zespołom bezpiecznie wyświetlić podgląd przed zastosowaniem zmian. To dopracowanie odróżnia moduły demonstracyjne od produkcyjnych.

Szybki sprawdzian

Proszę przypomnieć sobie dwie rzeczy, których moduł wymaga do obsługi trybu check.

Podsumowanie

Należy przekazać supports_check_mode=True, rozgałęziać działanie na podstawie module.check_mode, obliczać zmianę, ale pomijać zapis, oraz uczciwie raportować changed. Moduł jest teraz bezpieczny w uruchomieniu próbnym. 🔍

Bezpłatny start

Ucz się YAML dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Obsługa trybu check w module” jest bezpłatna?

Tak — pełny tekst „Obsługa trybu check w module” 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 Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Obsługa trybu check w module”?

Zapewnianie bezpieczeństwa własnego kodu podczas dry run. Ćwiczysz Ansible Academy 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ąć Ansible Academy?

Nie wymagamy żadnego doświadczenia. Ansible Academy 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 „Obsługa trybu check w module”?

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 Ansible Academy?

Tak. Każda lekcja Ansible Academy 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. Kiedy utworzyć własny moduł
  2. AnsibleModule i specyfikacja argumentów
  3. Zwracanie JSON i respektowanie changed
  4. Obsługa trybu check w module
← Powrót do Ansible Academy