Obsługa trybu check w module
Zapewnianie bezpieczeństwa własnego kodu podczas dry run.
Obsługa trybu check w module 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 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 --checkModuł 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. 🔍
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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp 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 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 „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 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
- Kiedy utworzyć własny moduł
- AnsibleModule i specyfikacja argumentów
- Zwracanie JSON i respektowanie changed
- Obsługa trybu check w module