Workshop wiki · German

Architektur: Ansible

Diese Architekturreferenz erklärt Ansible als agentloses, inventorybasiertes Automatisierungsmodell. Sie trennt Control Node, Managed Nodes, Inventory, Playbooks, Module, Plugins, Rollen, Collections, Vault, Runner, AWX und Execution Env…

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 17 chapters read
Other language versionEnglish ↗Greek ↗

Architektur: Ansible

Stand: 15. Juli 2026

Diese Architekturreferenz erklärt Ansible als agentloses, inventorybasiertes Automatisierungsmodell. Sie trennt Control Node, Managed Nodes, Inventory, Playbooks, Module, Plugins, Rollen, Collections, Vault, Runner, AWX und Execution Environments.


1. Ziel und Abgrenzung

Vertiefung und Abgabebeispiel zu Ziel und Abgrenzung

Eine vollständige Bearbeitung von Ziel und Abgrenzung besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Ziel und Abgrenzung

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Ziel und Abgrenzung

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Ziel und Abgrenzung zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Ziel und Abgrenzung

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Ziel und Abgrenzung immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Ziel und Abgrenzung

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Ziel und Abgrenzung

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Ziel und Abgrenzung

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Ziel und Abgrenzung

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Ziel und Abgrenzung ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

01 / 17

2. Architekturüberblick

Vertiefung und Abgabebeispiel zu Architekturüberblick

Eine vollständige Bearbeitung von Architekturüberblick besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Architekturüberblick

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Architekturüberblick

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Architekturüberblick zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Architekturüberblick

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Architekturüberblick immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Architekturüberblick

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Architekturüberblick

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Architekturüberblick

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Architekturüberblick

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Architekturüberblick ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

02 / 17

3. Control Node

Vertiefung und Abgabebeispiel zu Control Node

Eine vollständige Bearbeitung von Control Node besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Control Node

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Control Node

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Control Node zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Control Node

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Control Node immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Control Node

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Control Node

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Control Node

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Control Node

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Control Node ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

03 / 17

4. Managed Nodes

Vertiefung und Abgabebeispiel zu Managed Nodes

Eine vollständige Bearbeitung von Managed Nodes besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Managed Nodes

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Managed Nodes

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Managed Nodes zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Managed Nodes

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Managed Nodes immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Managed Nodes

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Managed Nodes

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Managed Nodes

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Managed Nodes

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Managed Nodes ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

04 / 17

5. Inventory und Zielauswahl

Vertiefung und Abgabebeispiel zu Inventory und Zielauswahl

Eine vollständige Bearbeitung von Inventory und Zielauswahl besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Inventory und Zielauswahl

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Inventory und Zielauswahl

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Inventory und Zielauswahl zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Inventory und Zielauswahl

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Inventory und Zielauswahl immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Inventory und Zielauswahl

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Inventory und Zielauswahl

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Inventory und Zielauswahl

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Inventory und Zielauswahl

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Inventory und Zielauswahl ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

05 / 17

6. Playbooks, Plays und Tasks

Vertiefung und Abgabebeispiel zu Playbooks, Plays und Tasks

Eine vollständige Bearbeitung von Playbooks, Plays und Tasks besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Playbooks, Plays und Tasks

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Playbooks, Plays und Tasks

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Playbooks, Plays und Tasks zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Playbooks, Plays und Tasks

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Playbooks, Plays und Tasks immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Playbooks, Plays und Tasks

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Playbooks, Plays und Tasks

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Playbooks, Plays und Tasks

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Playbooks, Plays und Tasks

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Playbooks, Plays und Tasks ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

06 / 17

7. Module, Plugins und Collections

Vertiefung und Abgabebeispiel zu Module, Plugins und Collections

Eine vollständige Bearbeitung von Module, Plugins und Collections besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Module, Plugins und Collections

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Module, Plugins und Collections

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Module, Plugins und Collections zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Module, Plugins und Collections

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Module, Plugins und Collections immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Module, Plugins und Collections

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Module, Plugins und Collections

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Module, Plugins und Collections

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Module, Plugins und Collections

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Module, Plugins und Collections ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

07 / 17

8. Variablen, Facts und Templates

Vertiefung und Abgabebeispiel zu Variablen, Facts und Templates

Eine vollständige Bearbeitung von Variablen, Facts und Templates besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Variablen, Facts und Templates

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Variablen, Facts und Templates

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Variablen, Facts und Templates zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Variablen, Facts und Templates

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Variablen, Facts und Templates immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Variablen, Facts und Templates

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Variablen, Facts und Templates

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Variablen, Facts und Templates

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Variablen, Facts und Templates

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Variablen, Facts und Templates ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

08 / 17

9. Rollen und Wiederverwendung

Vertiefung und Abgabebeispiel zu Rollen und Wiederverwendung

Eine vollständige Bearbeitung von Rollen und Wiederverwendung besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Rollen und Wiederverwendung

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Rollen und Wiederverwendung

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Rollen und Wiederverwendung zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Rollen und Wiederverwendung

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Rollen und Wiederverwendung immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Rollen und Wiederverwendung

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Rollen und Wiederverwendung

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Rollen und Wiederverwendung

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Rollen und Wiederverwendung

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Rollen und Wiederverwendung ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

09 / 17

10. Ausführungsablauf

Vertiefung und Abgabebeispiel zu Ausführungsablauf

Eine vollständige Bearbeitung von Ausführungsablauf besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Ausführungsablauf

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Ausführungsablauf

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Ausführungsablauf zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Ausführungsablauf

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Ausführungsablauf immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Ausführungsablauf

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Ausführungsablauf

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Ausführungsablauf

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Ausführungsablauf

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Ausführungsablauf ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

10 / 17

11. Privilege Escalation

Vertiefung und Abgabebeispiel zu Privilege Escalation

Eine vollständige Bearbeitung von Privilege Escalation besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Privilege Escalation

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Privilege Escalation

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Privilege Escalation zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Privilege Escalation

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Privilege Escalation immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Privilege Escalation

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Privilege Escalation

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Privilege Escalation

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Privilege Escalation

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Privilege Escalation ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

11 / 17

12. Vault und Secret-Flows

Vertiefung und Abgabebeispiel zu Vault und Secret-Flows

Eine vollständige Bearbeitung von Vault und Secret-Flows besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Vault und Secret-Flows

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Vault und Secret-Flows

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Vault und Secret-Flows zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Vault und Secret-Flows

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Vault und Secret-Flows immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Vault und Secret-Flows

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Vault und Secret-Flows

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Vault und Secret-Flows

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Vault und Secret-Flows

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Vault und Secret-Flows ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

12 / 17

13. AWX und Automation Controller

Vertiefung und Abgabebeispiel zu AWX und Automation Controller

Eine vollständige Bearbeitung von AWX und Automation Controller besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für AWX und Automation Controller

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für AWX und Automation Controller

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird AWX und Automation Controller zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu AWX und Automation Controller

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird AWX und Automation Controller immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für AWX und Automation Controller

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für AWX und Automation Controller

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei AWX und Automation Controller

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für AWX und Automation Controller

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

AWX und Automation Controller ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

13 / 17

14. Execution Environments

Vertiefung und Abgabebeispiel zu Execution Environments

Eine vollständige Bearbeitung von Execution Environments besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Execution Environments

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Execution Environments

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Execution Environments zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Execution Environments

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Execution Environments immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Execution Environments

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Execution Environments

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Execution Environments

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Execution Environments

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Execution Environments ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

14 / 17

15. Betriebs- und Security-Entscheidungen

Vertiefung und Abgabebeispiel zu Betriebs- und Security-Entscheidungen

Eine vollständige Bearbeitung von Betriebs- und Security-Entscheidungen besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Betriebs- und Security-Entscheidungen

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Betriebs- und Security-Entscheidungen

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Betriebs- und Security-Entscheidungen zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Betriebs- und Security-Entscheidungen

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Betriebs- und Security-Entscheidungen immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Betriebs- und Security-Entscheidungen

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Betriebs- und Security-Entscheidungen

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Betriebs- und Security-Entscheidungen

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Betriebs- und Security-Entscheidungen

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Betriebs- und Security-Entscheidungen ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

15 / 17

16. Review-Checkliste

Vertiefung und Abgabebeispiel zu Review-Checkliste

Eine vollständige Bearbeitung von Review-Checkliste besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Review-Checkliste

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Review-Checkliste

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Review-Checkliste zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Review-Checkliste

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Review-Checkliste immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Review-Checkliste

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Review-Checkliste

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Review-Checkliste

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Review-Checkliste

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Review-Checkliste ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

16 / 17

Quellen und weiterführende Referenzen

  • Offizielle Ansible Community Documentation: https://docs.ansible.com/
  • Ansible Getting Started: https://docs.ansible.com/projects/ansible/latest/getting_started/index.html
  • Inventory Guide: https://docs.ansible.com/projects/ansible/latest/inventory_guide/index.html
  • Playbook Guide: https://docs.ansible.com/projects/ansible/latest/playbook_guide/index.html
  • Module Index: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html
  • Vault Guide: https://docs.ansible.com/projects/ansible/latest/vault_guide/index.html
  • Ansible Lint: https://ansible.readthedocs.io/projects/lint/
  • Molecule: https://ansible.readthedocs.io/projects/molecule/
  • AWX: https://github.com/ansible/awx
  • Red Hat Certifications: https://www.redhat.com/en/services/certifications
17 / 17

ANS · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.