diff --git a/playbooks.md b/playbooks.md new file mode 100644 index 0000000..dc80e6b --- /dev/null +++ b/playbooks.md @@ -0,0 +1,41 @@ +Das Playbook ist ein zentrales Konzept in Ansible und dient dazu, Konfigurationsaufgaben und Automatisierungsschritte in einer leicht verständlichen YAML-Datei zu definieren. Ein Playbook enthält eine Abfolge von Aufgaben (Tasks) und kann auf verschiedene Zielhosts angewendet werden. Die Hauptfunktionen eines Playbooks sind: + +1. Aufgabenbeschreibung: Ein Playbook beschreibt, was auf den Zielhosts ausgeführt werden soll. Dies kann das Installieren von Software, das Konfigurieren von Systemeinstellungen, das Kopieren von Dateien und vieles mehr umfassen. + +2. Zielhosts festlegen: Sie können in einem Playbook angeben, auf welchen Hosts die Aufgaben ausgeführt werden sollen. Dies ermöglicht die einfache Skalierung und Anpassung der Automatisierung für verschiedene Umgebungen. + +Beispiel eines einfachen Playbooks: + +```yaml +--- +- name: Ein einfaches Playbook + hosts: webserver + tasks: + - name: Installiere den Apache Webserver + apt: + name: apache2 + state: present + become: yes +``` + +In diesem Beispiel wird ein Playbook definiert, das den Apache Webserver auf den Hosts mit dem Tag `webserver`installiert. Die Aufgabe (`task`) verwendet das `apt`-Modul, um die + Installation durchzuführen. + +Ein weiteres Beispiel: + +```yaml +--- +- name: Konfiguriere SSH-Zugriff + hosts: all + tasks: + - name: Kopiere SSH-Public-Key + authorized_key: + user: johndoe + key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" + become: yes +``` + +Dieses Playbook kopiert den öffentlichen SSH-Schlüssel des Benutzers `johndoe` auf alle Zielhosts (definiert durch `hosts: all`). Dies erleichtert den sicheren SSH-Zugriff auf die Zielhosts +. + +Playbooks können komplexere Aufgaben und Szenarien abbilden, aber die obigen Beispiele veranschaulichen die grundlegenden Funktionen von Playbooks in Ansible.