Workshop wiki · German

Musterlösung: Ansible-Prüfung 03 – Professional

Typ: Musterlösung / Erwartungshorizont

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 / 8 chapters read
Other language versionEnglish ↗Greek ↗

Musterlösung: Ansible-Prüfung 03 – Professional

Typ: Musterlösung / Erwartungshorizont

1. Hinweise zur Verwendung

Vertiefung und Abgabebeispiel zu Hinweise zur Verwendung

Eine vollständige Bearbeitung von Hinweise zur Verwendung 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 Hinweise zur Verwendung

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 Hinweise zur Verwendung

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 Hinweise zur Verwendung 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 Hinweise zur Verwendung

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Hinweise zur Verwendung 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 Hinweise zur Verwendung

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 Hinweise zur Verwendung

  • 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 Hinweise zur Verwendung

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 Hinweise zur Verwendung

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.

Diese Musterlösung zeigt Erwartungshorizonte. Konkrete Hostnamen, Pfade und Ausgaben dürfen im Lab abweichen, solange Scope, Sicherheit und Validierung stimmen.

01 / 08

2. Teil A: Musterantworten

Vertiefung und Abgabebeispiel zu Teil A: Musterantworten

Eine vollständige Bearbeitung von Teil A: Musterantworten 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 Teil A: Musterantworten

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 Teil A: Musterantworten

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 Teil A: Musterantworten 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 Teil A: Musterantworten

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Teil A: Musterantworten 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 Teil A: Musterantworten

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 Teil A: Musterantworten

  • 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 Teil A: Musterantworten

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 Teil A: Musterantworten

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.

1. Repository-Standards

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

2. Collections

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

3. CI

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

4. ansible-lint

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

5. Molecule

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

6. Dynamic Inventory

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

7. Orchestrierung

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

8. Runbooks

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

9. AWX

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

10. Execution Environments

Eine gute Antwort nennt Zweck, typische Datenquellen, Risiko und Validierung. Validierung erfolgt mit ansible-inventory, ansible-playbook --syntax-check, --check --diff und einem zweiten Lauf.

02 / 08

3. Teil B: Analyse-Erwartung

Vertiefung und Abgabebeispiel zu Teil B: Analyse-Erwartung

Eine vollständige Bearbeitung von Teil B: Analyse-Erwartung 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 Teil B: Analyse-Erwartung

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 Teil B: Analyse-Erwartung

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 Teil B: Analyse-Erwartung 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 Teil B: Analyse-Erwartung

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Teil B: Analyse-Erwartung 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 Teil B: Analyse-Erwartung

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 Teil B: Analyse-Erwartung

  • 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 Teil B: Analyse-Erwartung

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 Teil B: Analyse-Erwartung

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.

Das Inventory muss Gruppen, Hosts, Variablen und Verbindungsparameter klar zeigen. Das Playbook muss Module statt unnötiger Shell-Kommandos verwenden, become begründen und Secrets schützen.

03 / 08

4. Teil C: Praxislösung

Vertiefung und Abgabebeispiel zu Teil C: Praxislösung

Eine vollständige Bearbeitung von Teil C: Praxislösung 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 Teil C: Praxislösung

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 Teil C: Praxislösung

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 Teil C: Praxislösung 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 Teil C: Praxislösung

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Teil C: Praxislösung 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 Teil C: Praxislösung

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 Teil C: Praxislösung

  • 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 Teil C: Praxislösung

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 Teil C: Praxislösung

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.

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
04 / 08

5. Teil D: Diagnose und Betriebsnotiz

Vertiefung und Abgabebeispiel zu Teil D: Diagnose und Betriebsnotiz

Eine vollständige Bearbeitung von Teil D: Diagnose und Betriebsnotiz 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 Teil D: Diagnose und Betriebsnotiz

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 Teil D: Diagnose und Betriebsnotiz

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 Teil D: Diagnose und Betriebsnotiz 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 Teil D: Diagnose und Betriebsnotiz

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Teil D: Diagnose und Betriebsnotiz 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 Teil D: Diagnose und Betriebsnotiz

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 Teil D: Diagnose und Betriebsnotiz

  • 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 Teil D: Diagnose und Betriebsnotiz

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 Teil D: Diagnose und Betriebsnotiz

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.

Eine gute Diagnose trennt unreachable von failed, prüft Inventory, Verbindung, Python, Rechte, Variablen, Module und Collections in dieser Reihenfolge.

05 / 08

6. Erwartete Abgabestruktur

Vertiefung und Abgabebeispiel zu Erwartete Abgabestruktur

Eine vollständige Bearbeitung von Erwartete Abgabestruktur 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 Erwartete Abgabestruktur

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 Erwartete Abgabestruktur

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 Erwartete Abgabestruktur 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 Erwartete Abgabestruktur

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Erwartete Abgabestruktur 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 Erwartete Abgabestruktur

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 Erwartete Abgabestruktur

  • 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 Erwartete Abgabestruktur

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 Erwartete Abgabestruktur

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.

answers.md, Inventory, Playbook, Evidence und Cleanup-Datei müssen konsistent zusammenpassen.

06 / 08

7. Cleanup

Vertiefung und Abgabebeispiel zu Cleanup

Eine vollständige Bearbeitung von Cleanup 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 Cleanup

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 Cleanup

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 Cleanup 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 Cleanup

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Cleanup 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 Cleanup

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 Cleanup

  • 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 Cleanup

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 Cleanup

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.

Lab-Artefakte unter /tmp, Dummy-Secrets und temporäre Inventories werden entfernt oder klar dokumentiert.

07 / 08

8. Bewertungs- und Prüferhinweise

Vertiefung und Abgabebeispiel zu Bewertungs- und Prüferhinweise

Eine vollständige Bearbeitung von Bewertungs- und Prüferhinweise 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 Bewertungs- und Prüferhinweise

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 Bewertungs- und Prüferhinweise

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 Bewertungs- und Prüferhinweise 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 Bewertungs- und Prüferhinweise

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Bewertungs- und Prüferhinweise 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 Bewertungs- und Prüferhinweise

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 Bewertungs- und Prüferhinweise

  • 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 Bewertungs- und Prüferhinweise

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 Bewertungs- und Prüferhinweise

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.

Akzeptiere abweichende Implementierungen, wenn sie realistische Ansible-Module nutzen, sicher begrenzt sind und reproduzierbare Evidence liefern.

08 / 08

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.