Ansible[1. Ansible Homepage {en}] ist eine Open-Source-Plattform zur Orchestrierung und allgemeinen Konfiguration und Administration von Computern.[2. Ansible – Wikipedia] Ansible soll dabei helfen, Konfigurationsprozesse zu automatisieren und die Administration multipler Systeme zu vereinfachen. Damit verfolgt Ansible im Wesentlichen die gleichen Ziele wie z.B. Puppet[3. Puppet – Wikipedia], Chef[4. Chef – Wikipedia {en}] und Salt[5. Salt – Wikipedia {en}].
Ansible hat gegenüber den genannten Systemen das Alleinstellungsmerkmal, dass auf den verwalteten Rechnern kein Agent installiert werden muss. Der Zugriff erfolgt ausschließlich über das SSH-Protokoll. Dies ist ein Vorteil, da bei der Einführung von Ansible SSH-Key-Authentifizierungsverfahren genutzt werden können, die häufig schon existieren. Ein weiterer Vorteil ergibt sich in dem Fall, wenn man Ansible nicht mehr nutzen möchte. Es bleiben keine Softwarekomponenten auf den verwalteten Rechnern zurück, die wieder deinstalliert werden müssen.
Mir gefällt auf den ersten Blick, dass mir die Lösung zwei Wege bietet, um meine Systeme zu konfigurieren. Zum einen kann ich Playbooks[6. Ansible – Playbooks {en}] nutzen, welche gewissermaßen das Pendant der Puppet Manifeste darstellen. Zum anderen existiert ein Ad-hoc-Modus, welcher es erlaubt, die Konfiguration von Zielsystemen bei Bedarf anzupassen, ohne zuvor ein Rezept bzw. Playbook erstellt zu haben.
Die Playbooks selbst werden in YAML[7. YAML – Wikipedia]-Syntax verfasst. Dadurch wird eine gute Lesbarkeit sichergestellt. Zudem ist die Syntax recht einfach gehalten und daher schnell zu erlernen.
Für häufige Anwendungsfälle wie z.B. das Anlegen eines Benutzers, die Verteilung von SSH-Keys, die Installation verfügbarer Updates/Patches und noch vieles mehr, bringt Ansible vorgefertigte Module mit. Diese können direkt auf den Zielsystemen oder durch die Verwendung von Playbooks ausgeführt werden.[8. About Modules – Ansible {en}]
Die oben genannten Aspekte motivieren mich, zu evaluieren, ob Ansible für den Einsatz in meinem beruflichen Umfeld geeignet ist. In diesem Blog werden in unregelmäßigen Abständen weitere Artikel erscheinen, in denen ich Erkenntnisse aus meiner Evaluierung festhalte und einige kurze Beispiele zur Nutzung konkreter Module wiedergebe.
Wer dieser Reihe folgt und sich gern mit seinen Erfahrungen einbringen möchte, darf dies gerne tun. Ich freue mich jederzeit über Kommentare, Ideen und Anregungen.
Update vom 17.12.2016: Ich habe die Ansible-Artikel in diesem Blog in einer PDF-Datei zusammengefasst. Die Datei gibt es hier: Ansible-Kochbuch (PDF)
Hallo Jörg,
beschäftige mich auch seit einigen Tagen mit ansible. Habe auch vor ein wenig darüber zu schreiben.
Als Tipp von einem Freund habe ich folgendes Buch empfohlen bekommen:
https://www.safaribooksonline.com/library/view/ansible-up-and/9781491915318/?utm_medium=referral&utm_campaign=publisher&utm_source=oreilly&utm_content=book+page
Bin auf deine Erkenntnisse gespannt.
Hi,
danke für den Buchtipp. Hast du schon selbst in das Buch hinein geschaut? Lohnt sich die Anschaffung?
Ich habe heute meine ersten beiden Playbooks fertig gestellt und werde in den kommenden Tagen mal darüber bloggen.
Gruß
Jörg
Pingback: Linux-Benutzerkonten mit Ansible verwalten | My-IT-Brain
Pingback: Ansible: Patch-Management für Red Hat Systeme | My-IT-Brain
Pingback: Ansible – Was ich am Ad-hoc-Modus schätze | My-IT-Brain
Ich habe die Ansible-Artikel in diesem Blog in einer PDF-Date zusammengefasst. Neue Artikel werden der PDF-Version ebenfalls hinzugefügt. Und hier gibt es die Datei: Ansible-Kochbuch (PDF)
LG
Jörg K.
Pingback: Konzept zum Deployment meines Blogs mit Ansible | My-IT-Brain
Pingback: Einführung in Red Hat Insights | My-IT-Brain
Pingback: Red Hat Insights – Compliance | My-IT-Brain
Pingback: Erkundung von Red Hat Insights — Advisor | My-IT-Brain