fotografiche.eu - Fotolia
Erste Schritte mit Ansible Playbooks
Die Konfiguration über Maschinengrenzen hinweg lässt sich durch den Einsatz von Ansible Playbooks in erheblichem Maße rationalisieren. So gelingt der Einstieg.
Ein Playbook hilft Administratoren dabei, ihren Arbeitsprozess bei der Bedienung von Ansible zu entschlacken. Es ermöglicht eine beachtliche Zeiteinsparung gegenüber der Eingabe einzelner Befehle.
Das Ansible Playbook ist eine Sammlung von eigenständigen und organisierten Skripten zur Automatisierung von Aufgaben. Diese Skripte werden Plays genannt. Sie definieren die Konfigurationsarbeit die Ansible auf einer oder mehreren Maschinen vorzunehmen hat.
Playbooks sind keine gewöhnlichen Textdateien, sondern mit YAML formatiert. Zunächst muss sich der Nutzer natürlich mit den Befehlen von Ansible vertrautmachen. Dann ist man jedoch schnell in der Lage, Playbooks von Grund auf neu zu schreiben oder vorgefertigte Rollen und Module von Ansible selbst und der Nutzer-Community dazu zu nehmen.
Bevor Sie mit Ansible Playbooks erste Gehversuche unternehmen können, müssen Sie sicherstellen, dass das Tool installiert und betriebsfähig ist. Starten Sie mit der folgenden Eingabe in die Kommandozeile ein Playbook namens myfile:
ansible-playbook myfile.yml
Ansible kommuniziert mit der zu verwaltenden Maschine über Secure Shell (SSH). Das Ansible Playbook und die ausführbaren Ansible-Dateien befinden sich also in Ordnern auf dem lokalen Server.
Nutzen des check mode und von Gruppen
Bevor man ein Playbook auf ein echtes System anwendet, ist es eine gute Idee, diese zunächst im check mode zu starten. Das gilt umso mehr, je weniger Erfahrung man bislang in Ansible hat. Der Testmodus startet das Playbook, ohne dabei Dateien zu ändern. Stattdessen gibt er lediglich aus, welche Veränderungen in einem normalen Durchlauf ausgeführt worden wären.
Um den Testmodus auszuführen, gibt man dem Befehl einfach das Runtime Flag --check mit auf den Weg:
ansible-playbook myfile.yml -–check
Um gesondert die Syntax Ihres Playbooks zu überprüfen, nutzt man das Kommando --syntax-check:
ansible-playbook myfile.yml --syntax-check
Ansible erlaubt es, mehrere Host-Maschinen zu gruppieren. Dies kann etwa auf Basis ihrer Funktion oder einer anderen Hierarchie geschehen. Plays können dabei für alle Hosts in der jeweiligen Gruppe ausgeführt werden.
Gruppen können, um ein konkretes Beispiel zu nennen, etwa dann hilfreich sein, wenn alle Webserver eines Unternehmens auf die neueste Version von Apache geprüft werden sollen, dies aber logischerweise die Datenbankserver des Unternehmens nicht betreffen soll.
Sämtliche Hosts werden als Ansible-Inventardatei im Verzeichnis /etc/ansible/hosts gespeichert. Der Ablageort für diese Datei lässt sich mit Administratorenrechten anpassen, der vorgegebene Pfad ist aber natürlich durchaus sinnvoll und sollte nur bei wohlüberlegten Gründen verworfen werden.
Gibt es häufige Änderungen an dieser Datei, so sollte in Erwägung gezogen werden, sie einer Versionsverwaltung zu unterziehen. Auf diese Weise behalten Sie stets den Überblick, welche Hosts hinzugekommen oder weggefallen sind.
Man sollte bei der Arbeit mit Ansible Playbooks das eigentliche Ziel der Verwendung von Ansible nicht aus dem Auge verlieren: die Implementierung einer konsistenten Ziel-Konfiguration für jeden betroffenen Host.