0Pricing
DevOps Bootcamp · Lektion

Gewünschter Zustand statt Schritt-für-Schritt-Skripte

Warum deklarativ besser ist als imperativ.

Gewünschter Zustand statt Schritt-für-Schritt-Skripte ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Das Ergebnis beschreiben, nicht die Schritte

Ansible ist deklarativ: Sie beschreiben den gewünschten Endzustand, und Ansible ermittelt die erforderlichen Schritte, um ihn unabhängig vom aktuellen Zustand des Hosts zu erreichen.

Der imperative Ansatz

Ein imperatives Skript listet konkrete Befehle in einer festen Reihenfolge auf. Es setzt einen bestimmten Ausgangszustand voraus und scheitert daher, wenn der Host bereits teilweise eingerichtet ist.

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

Der deklarative Ansatz

Eine deklarative Task gibt lediglich das Ziel an: nginx soll installiert sein und laufen. Ansible prüft den tatsächlichen Zustand und handelt nur, wenn es nötig ist.

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

state bezeichnet das Ziel

Mit dem Schlüssel state deklarieren Sie Ihre Absicht. present, started oder absent bezeichnen jeweils einen gewünschten Endzustand, keine auszuführende Aktion.

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

Ansible vergleicht zuerst

Bevor ein Modul etwas ändert, vergleicht es den aktuellen Zustand mit dem von Ihnen deklarierten. Stimmen beide bereits überein, tut es überhaupt nichts.

Das ist Konvergenz

Jeder Durchlauf bringt den Host näher an Ihren deklarierten Sollzustand. Das ist Konvergenz: Unabhängig vom Ausgangspunkt endet der Host immer am selben Ort.

Die Reihenfolge ist weniger wichtig

Da Tasks Ziele deklarieren, führt das erneute Ausführen eines nur teilweise abgeschlossenen Plays einfach den Rest aus. Sie müssen nicht nachverfolgen, welcher Schritt beim letzten Mal fehlgeschlagen ist.

Sicher erneut ausführen

Deklarative Tasks können Sie sicher erneut ausführen. Hosts, die bereits korrekt konfiguriert sind, bleiben unverändert. Darauf beruht die Idempotenz vollständig.

Weniger zu merken

Sie müssen Prüfungen wie „wenn installiert, überspringen“ nicht mehr von Hand schreiben. Das Modul übernimmt diese Logik, sodass Ihr playbook kurz und gut lesbar bleibt.

Ein Playbook ist die maßgebliche Quelle

Ein deklaratives Playbook liest sich wie eine Dokumentation des gewünschten Serverzustands: welche Pakete, Dienste und Dateien darauf vorhanden sein sollen.

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

Einige Tasks sind weiterhin imperativ

Direkte command- und Shell-Tasks sind imperativ: Sie werden jedes Mal ausgeführt. Bevorzugen Sie zustandsbasierte Module, damit Ansible deklarativ bleiben kann.

Kurzer Check

Sie schreiben einen Task, der festlegt, dass nginx vorhanden sein soll, und führen das Playbook anschließend auf einem Host aus, auf dem nginx bereits installiert ist.

Zusammenfassung

Sie deklarieren einen Sollzustand, und Ansible bringt den Host schrittweise dorthin, indem es nur handelt, wenn der Istzustand abweicht. Diese Sicherheit ist Idempotenz. 🎯

Häufig gestellte Fragen

Ist die Lektion „Gewünschter Zustand statt Schritt-für-Schritt-Skripte“ kostenlos?

Ja — der vollständige Text von „Gewünschter Zustand statt Schritt-für-Schritt-Skripte“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Gewünschter Zustand statt Schritt-für-Schritt-Skripte“?

Warum deklarativ besser ist als imperativ. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Gewünschter Zustand statt Schritt-für-Schritt-Skripte“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Gewünschter Zustand statt Schritt-für-Schritt-Skripte
  2. changed und ok in der Ausgabe lesen
  3. Warum command die Idempotenz durchbricht
  4. Check Mode: Probelauf mit --check
← Zurück zu DevOps Bootcamp