0Pricing
DevOps Bootcamp · Lekcja

Oczekiwany stan zamiast skryptów krok po kroku

Dowiedz się, dlaczego podejście deklaratywne wygrywa z imperatywnym.

Oczekiwany stan zamiast skryptów krok po kroku to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.

Opisz stan końcowy, nie kroki

Ansible jest deklaratywne: opisujesz oczekiwany stan końcowy, a Ansible ustala kroki prowadzące do niego, niezależnie od obecnego stanu hosta.

Podejście imperatywne

Skrypt imperatywny zawiera dokładne polecenia w określonej kolejności. Zakłada stan początkowy, więc przestaje działać, gdy host jest już częściowo skonfigurowany.

apt-get update
apt-get install -y nginx
systemctl start nginx

Podejście deklaratywne

Zadanie deklaratywne określa jedynie cel: nginx ma być zainstalowany i uruchomiony. Ansible sprawdza rzeczywisty stan i działa tylko wtedy, gdy jest to potrzebne.

ansible.builtin.package:
  name: nginx
  state: present

state określa cel

Klucz state służy do deklarowania zamiaru. Wartości present, started lub absent określają oczekiwany stan końcowy, a nie czynność do wykonania.

ansible.builtin.service:
  name: nginx
  state: started

Ansible najpierw porównuje stany

Zanim moduł cokolwiek zmieni, porównuje bieżący stan z zadeklarowanym. Jeśli oba stany już się zgadzają, nie robi zupełnie nic.

To jest konwergencja

Każde uruchomienie przybliża hosta do zadeklarowanego stanu. To właśnie konwergencja: niezależnie od punktu wyjścia host ostatecznie osiąga ten sam stan.

Kolejność ma mniejsze znaczenie

Ponieważ zadania deklarują cele, ponowne uruchomienie niedokończonego playbooka po prostu wykonuje pozostałą część. Nie muszą Państwo śledzić, który krok ostatnio zakończył się niepowodzeniem.

Można bezpiecznie uruchomić ponownie

Deklaratywne zadania można bezpiecznie uruchamiać ponownie. Hosty, które są już w poprawnym stanie, pozostają nietknięte — na tym właśnie opiera się idempotencja.

Mniej do zapamiętania

Nie trzeba już ręcznie pisać warunków typu „jeśli zainstalowano, pomiń”. Moduł zajmuje się tą logiką, dzięki czemu Państwa playbook pozostaje krótki i czytelny.

Playbook jest źródłem prawdy

Deklaratywny playbook przypomina dokumentację pożądanego serwera: opisuje, jakie pakiety, usługi i pliki powinny się na nim znajdować.

- name: Web server desired state
  hosts: web
  tasks:
    - ansible.builtin.package:
        name: nginx
        state: present

Niektóre zadania nadal są imperatywne

Zwykłe zadania command i shell są imperatywne: uruchamiają się za każdym razem. Należy preferować moduły oparte na stanie, aby Ansible zachował deklaratywny charakter.

Szybkie sprawdzenie

Piszą Państwo zadanie określające, że nginx powinien być obecny, a następnie uruchamiają Państwo playbook na hoście, na którym nginx już jest zainstalowany.

Podsumowanie

Deklarują Państwo pożądany stan, a Ansible doprowadza hosta do niego, działając tylko wtedy, gdy rzeczywisty stan jest inny. Ta bezpieczność to idempotencja. 🎯

Często zadawane pytania

Czy lekcja „Oczekiwany stan zamiast skryptów krok po kroku” jest bezpłatna?

Tak — pełny tekst „Oczekiwany stan zamiast skryptów krok po kroku” 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 „Oczekiwany stan zamiast skryptów krok po kroku”?

Dowiedz się, dlaczego podejście deklaratywne wygrywa z imperatywnym. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Oczekiwany stan zamiast skryptów krok po kroku”?

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. Oczekiwany stan zamiast skryptów krok po kroku
  2. Odczytywanie changed i ok w wynikach
  3. Dlaczego command łamie idempotencję
  4. Tryb sprawdzania: próbny przebieg z --check
← Powrót do DevOps Bootcamp