News
Serverspace Technologien in den VAE: Einführung von Falconcloud
WB
4. Juni 2020
Aktualisiert Juni 7, 2023

Verwenden von Ansible-Playbooks

Ansible

Die Anleitung beschreibt die Anwendung und Arbeit mit Ansible Playbook, sowie einen kurzen Überblick über deren Aufbau.

Was sind Ansible-Playbooks?

Das Playbook in Ansible definiert eine Reihe bestimmter auszuführender Aktionen und ist an eine bestimmte Gruppe von Servern gerichtet. Im Gegensatz zu einigen anderen Tools zum Vornehmen von Einstellungen beschreibt das Playbook nicht den Zustand der Maschine, und Ansible ermittelt selbstständig alle vorzunehmenden Änderungen. Allerdings müssen Playbooks als Idempotente konzipiert sein, was bedeutet, dass sie ohne negative Folgen mehr als einmal gestartet werden können.

Playbooks werden oft verwendet, um die Ersteinrichtung von Servern durchzuführen – Benutzer und Verzeichnisse hinzuzufügen, Softwarepakete und Dateien zu verwalten.

Playbook ist ein YAML-Datei , die normalerweise die folgende Struktur hat:

--- - hosts: [Zielhosts] remote_user: [Ihr Name] Aufgaben: - [Aufgabe 1] - [Aufgabe 2]

Das folgende Playbook wird beispielsweise auf allen Servern der Marketing-Server-Gruppe eingebunden und stellt sicher, dass die Apache Webserver startet:

--- - Hosts: [Marketingserver] Remote_User: Webadmin-Aufgaben: - Name: Stellen Sie sicher, dass Apache Daemon hat den Dienst gestartet: name=httpd state=started Werden: Ja Werden_Methode: Sudo

Im obigen Playbook finden Sie eine Beispielaufgabe:

Aufgaben: - Name: Stellen Sie sicher, dass Apache Daemon hat den Dienst gestartet: name=httpd state=started Werden: Ja Werden_Methode: Sudo

Jede Aufgabe sollte einen Namen haben, der anschließend aufgezeichnet wird und dabei helfen kann, den Fortschritt zu verfolgen. Nach der Namenszeile steht das Modul, das gestartet wird, in diesem Fall ein Servicemodul. Andere Attribute ermöglichen mehr Optionen; Im Ansible-Beispiel sind Sudo-Berechtigungen zulässig.

Starten Sie Ansible Playbook

Mit dem folgenden Befehl können Sie ein fertiges Playbook starten:

ansible-playbook playbook.yml

Beispielsweise:

ansible-playbook nginx.yml

Wenn Sie jedoch die Liste der Hosts filtern müssen, damit das Skript nur auf einen dieser Hosts angewendet wird, können Sie ein Flag hinzufügen und eine Teilmenge der Hosts in der Datei angeben:

ansible-playbook -l host_subset playbook.yml

Beispielsweise:

ansible-playbook -l host3 nginx.yml

Ergebnisse registrieren

Wenn Sie Dienste manuell installieren und konfigurieren, ist es fast immer notwendig, das Ergebnis von Aktionen zu kennen. Sie können diese Funktionalität durch Registrierung konfigurieren.

Für jede Aufgabe besteht auf Wunsch die Möglichkeit, deren Ergebnis (Misserfolg oder Erfolg) in einer Variablen zu registrieren, die später überprüft werden kann. Bei Verwendung dieser Funktionalität empfiehlt es sich, Ansible anzuweisen, Fehler für eine solche Aufgabe zu ignorieren, da das Playbook bei Problemen normalerweise unterbrochen wird.

Wenn Sie also überprüfen möchten, ob die Aufgabe abgeschlossen wurde oder nicht, und über die nächsten Schritte entscheiden möchten, müssen Sie die Registrierungsfunktion nutzen.

Geben Sie beispielsweise das Playbook an, um eine Datei index.php hochzuladen, falls vorhanden. Wenn diese Aufgabe nicht abgeschlossen wird, beginnt der Download der Datei index.html:

--- - Hosts: Droplets-Aufgaben: - Name: Installiert nginx Webserver apt: pkg=nginx state=installed update_cache=true notify: - starten nginx

    - Name: Standard-index.php für Host-Kopie hochladen: src=static_files/index.php dest=/usr/share/nginx/www/ mode=0644 register: phpignore_errors: True – name: Remove index.html for host command: rm /usr/share/nginx/www/index.html wenn: php|success - Name: Standard-index.html für Host-Kopie hochladen: src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644 wenn: php|failed handlers: - name: start nginx
      Dienst: Name=nginx state=gestartet

Dieses Skript versucht, eine PHP-Datei auf den Host hochzuladen. Ansible zeichnet den Erfolg einer Operation in einer Variablen namens PHP auf. Wenn dieser Vorgang erfolgreich ist, besteht die nächste Aufgabe darin, die Datei index.html zu löschen. Wenn der Vorgang fehlschlägt, wird die Datei index.html geladen.

Abstimmung:
5 aus 5
Durchschnittliche Bewertung: 5
Bewertet von: 1
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.