Erstellen Ihres ersten Playbooks
Beginnen wir damit, ein einfaches Ansible-Playbook zu erstellen, das ein Verzeichnis und eine Datei auf dem lokalen Rechner erstellt. Dies hilft Ihnen, die Grundstruktur eines Playbooks zu verstehen und zu lernen, wie Sie es ausführen.
Zunächst erstellen wir eine neue Datei namens first_playbook.yml
im Verzeichnis /home/labex/project
:
nano /home/labex/project/first_playbook.yml
Dieser Befehl öffnet den nano-Texteditor. Wenn Sie mit nano nicht vertraut sind, keine Sorge – es ist ein einfacher Texteditor. Sie können direkt in ihn schreiben.
Fügen Sie nun den folgenden Inhalt in die Datei ein:
---
- name: My First Playbook
hosts: localhost
connection: local
tasks:
- name: Create a directory
file:
path: /home/labex/project/test_directory
state: directory
mode: "0755"
- name: Create a file
copy:
content: "Hello from Ansible!"
dest: /home/labex/project/test_directory/hello.txt
Lassen Sie uns dieses Playbook analysieren, um jeden Teil zu verstehen:
- Das
---
oben markiert den Anfang einer YAML-Datei. YAML ist das Format, das für Ansible-Playbooks verwendet wird.
name: My First Playbook
ist ein beschreibender Name für diese Aktion. Er hilft Ihnen zu verstehen, was dieses Playbook macht.
hosts: localhost
gibt an, dass dieses Playbook auf dem lokalen Rechner ausgeführt wird. In einer realen Umgebung würden Sie hier möglicherweise Remote-Hosts angeben.
connection: local
teilt Ansible mit, das Playbook lokal auszuführen, anstatt SSH zu verwenden. Dies ist nützlich für Tests und für Aufgaben, die auf dem Ansible-Steuerknoten selbst ausgeführt werden müssen.
tasks:
wird von einer Liste von Aufgaben gefolgt, die ausgeführt werden sollen. Jede Aufgabe ist eine Aktion, die Sie von Ansible ausführen lassen möchten.
- Jede Aufgabe hat einen
name
zur Beschreibung. Dies hilft Ihnen zu verstehen, was jede Aufgabe macht und erleichtert die Fehlersuche.
- Die Aufgaben verwenden Ansible-Module:
- Das
file
-Modul wird verwendet, um das Verzeichnis zu erstellen.
- Das
copy
-Modul wird verwendet, um eine Datei mit spezifischem Inhalt zu erstellen.
Machen Sie sich keine Sorgen, wenn Sie noch nicht alle Module verstehen. Im Laufe der Zeit werden Sie viele weitere Module und deren Verwendung kennenlernen.
Speichern Sie die Datei und verlassen Sie den Editor. In nano können Sie dies tun, indem Sie Strg+X
drücken, dann Y
und schließlich Enter
.
Lassen Sie uns nun dieses Playbook ausführen. Geben Sie in Ihrem Terminal ein:
ansible-playbook /home/labex/project/first_playbook.yml
Dieser Befehl teilt Ansible mit, das Playbook auszuführen, das wir gerade erstellt haben. Sie sollten eine Ausgabe ähnlich der folgenden sehen:
PLAY [My First Playbook] ******************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Create a directory] ******************************************************
changed: [localhost]
TASK [Create a file] ***********************************************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Diese Ausgabe zeigt, dass Ansible unsere Aufgaben erfolgreich ausgeführt hat. Der Status "changed" gibt an, dass Ansible Änderungen am System vorgenommen hat (ein Verzeichnis und eine Datei erstellt).
Wenn Sie die Ergebnisse manuell überprüfen möchten, können Sie diese Befehle verwenden:
ls -l /home/labex/project/test_directory
cat /home/labex/project/test_directory/hello.txt
Der erste Befehl sollte das von uns erstellte Verzeichnis anzeigen, und der zweite sollte den Inhalt der von uns erstellten Datei anzeigen.