From 8bd5a69ae642a6c642e629a345083561d2cb7a04 Mon Sep 17 00:00:00 2001 From: kraeml Date: Wed, 27 Sep 2023 13:55:46 +0000 Subject: [PATCH] =?UTF-8?q?playbooks=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 playbooks.md 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.