Bleiben Sie immer aktuell mit Ihrer IT!

Rechenzentrumsautomatisierung leicht gemacht – Teil 3 – Ansible Playbook

In unserem IT Blog finden Sie aktuelle Themen zur IT Sicherheit, Managed Services, Cloud Anwendungen u. v. m.
Blog Ansible

Ansible sammelt vor jedem Durchlauf eines Playbooks erst einmal die Fakten (facts) zu den Systemen, die es konfigurieren soll. Hierbei werden grundlegende Einstellungen ermittelt. In diesem Artikel wollen wir uns zwei Aspekte näher ansehen: Erstens: Wie kommen wir an die verfügbaren Informationen? Zweitens: Was tun, wenn diese Informationen nicht reichen? Wie können wir die grundlegende Funktion erweitern?

Ansible ermittelt zu Beginn jedes Durchlaufs automatisch mithilfe des Setup-Moduls systemspezifische Einstellungen. Eine Übersicht aller Fakten erhalten wir mit dem folgenden Befehl:

Host setup

Die Fakten speichert Ansible auf dem Server ab, sofern die entsprechenden Konfigurationsoptionen gesetzt sind.

etc ansible ansible cfg

 Das angegebene Verzeichnis muss der Administrator bei Bedarf manuell anlegen.

Eigene JSON-Datei für jeden Host

Führt das Betriebsteam ein Playbook aus, legt Ansible für jeden Host eine eigene JSON-Datei an, die genauso heißt wie der Host-Eintrag im Inventar.

Die abgerufenen Werte können wir dann wie normale Variablen in unseren Playbooks bzw. Rollen verwenden und somit anhand unterschiedlicher Kriterien (z. B. ansible_distribution) auch unterschiedliche Aktionen ausführen.

Obwohl die abgeholten Informationen recht umfangreich sind, reichen sie mitunter nicht aus. Wir haben nun folgende Möglichkeiten, unsere Fakten zu erweitern.

Wie bekomme ich statische Fakten?

Soll ein System weitere Informationen liefern, so legen wir auf dem Zielhost (nicht dem Server) eine entsprechende Datei unterhalb /etc/ansible/facts.d an. Den Namen der Datei verwenden wir für den Aufbau des Faktenbaums, er endet mit .fact.

etc ansible static fact

Als Format stehen wahlweise INI oder JSON zur Verfügung. Anschließend überprüfen wir die Funktion:

ansible localhost

Die statischen Fakten befinden sich immer unterhalb ansible_local; die Schlüssel werden hierbei automatisch zu Kleinbuchstaben konvertiert.

Diese Vorgehensweise macht immer dann Sinn, wenn Applikations- oder Systemverantwortliche statische Informationen auf dem System hinterlegen wollen. Wollen wir jedoch systemspezifische Werte auslesen, z. B. Firmwarestände, so benötigen wir einen anderen Weg.

Wie ermittle ich dynamische Fakten?

Parallel zur vorher genannten Variante gibt es auch die Option, Werte zur Laufzeit zu ermitteln. Hierbei ist jedoch der in Ansible konfigurierte Timeout zu beachten.

Auch hier verwenden wir wieder das o. g. Verzeichnis. In diesem Fall jedoch muss die Datei ausführbar sein und JSON zurückliefern.

ansible dynamic fact

Ob alles wie gewünscht funktioniert, prüfen wir wieder über die Konsole:

ansible localhost filter 1

Die Erweiterung der Fakten kann auch über eine entsprechende Rolle via Ansible ausgerollt werden.

Prinzipiell lassen sich diese Informationen auch über einen Task holen. Jedoch sind Skripte, die sich bereits auf den Maschinen befinden, deutlich schneller und stehen sämtlichen Rollen zur Verfügung. Außerdem kann ein Admin die Fakten für eine automatisierte Aufbereitung verwenden. Wie, das erfahren Sie im nächsten Teil der Serie.

Lesen Sie die auch unsere weiteren Artikel zum Thema Ansible:

Demo Ansible-Playbook: Wartungsprozess

Sie möchten Ansible live erleben? Kontaktieren Sie uns für eine Demo.

Tobias Frank
Leiter DevOps

Das könnte Sie auch interessieren

hpe alletra header

HPE Alletra MP – Storage-Innovation 2024

HPE GreenLake for Block Storage HPE Alletra MP – Dynamische Plattform statt festem System Die technologischen Unterschiede machen HPE Alletra Storage MP zu einer flexiblen Storage-Lösung, die mittelständischen Unternehmen nun [...]
Concat AG Blog Area1

E-Mail-Security mit Area1

E-Mail-Sicherheit nach dem Hase-und-Igel-Prinzip Täglich werden zahllose neue Schwachstellen bekannt und ausgenutzt, um Geld zu erpressen. Mit 203 Milliarden Euro war die Schadenssumme durch Diebstahl, Spionage und Sabotage für die [...]

Lassen Sie uns über Ihr Projekt sprechen

Sie haben Fragen oder wünschen eine Beratung? Unser Serviceteam ist für Sie da. Gerne helfen wir Ihnen telefonisch oder per E-Mail persönlich weiter. Wir freuen uns auf Ihre Anfrage.
Hinweise zur Kontaktaufnahme
Ich stimme zu, dass Concat die von mir übermittelten personenbezogenen Daten erhebt, speichert und verarbeitet.

Concat wird die Daten ohne gesonderte Einwilligung nicht an Dritte weitergeben.

Ich gebe diese Einwilligung freiwillig ab und mir ist bekannt, dass ich sie jederzeit gegenüber Concat (postalisch, per Fax oder per E-Mail an [email protected]) ohne Angaben von Gründen widerrufen oder die Berichtigung, Löschung oder Sperrung der Daten für eine zukünftige Verwendung verlangen kann.




    © 2024 Concat AG – IT Solutions | All Rights Reserved | A Meridian Group International Company