Bleiben Sie immer aktuell mit Ihrer IT!

Rechenzentrumsautomatisierung leicht gemacht – Teil 2 – motherstarter

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

Wie wir im ersten Teil über Ansible gelernt haben, verwendet Ansible in der Standardeinstellung eine INI-Datei (/etc/ansible/hosts) für das Inventar. Die Pflege der Datei ist leider ziemlich mühsam. Wechselt man auf das YAML-Format, so wird die Pflege noch komplizierter.

Glücklicherweise existieren diverse Plugins für dynamische Inventarisierung. Hierbei gibt es die Möglichkeit, sich direkt an diverse Hypervisoren oder Inventarisierungssysteme anzuflanschen. Was aber, wenn die Administration ihre Hosts nach wie vor in MS-Excel-Listen pflegt, einfach weil sie es so gewohnt ist?

motherstarter unterstützt diverse Quellformate

In diesem Fall bedienen wir uns des Python-Tools motherstarter, welches genau unsere Aufgabe erledigt.

Das Tool unterstützt die Quellformate csv, json und xslx, was in den meisten Fällen ausreichend ist.

Das Inventar definieren wir uns in der Datei inventory.xlsx. Das Tabellenblatt nennen wir hierbei inventory. In der Datei definieren wir unsere Hostliste über die Spalten hostname und mgmt_ip. Die Spalte group definiert die zugehörige Gruppe.

Bild 1: motherstarter/inputs/inventory.xlsx

Template sortiert Einträge automatisch in Gruppen

Anschließend benötigen wir noch eine Datei groups.xslx für Gruppenvariablen, welche auch leer sein kann. Allerdings muss es auch hier ein Tabellenblatt groups geben.

Für die Umwandlung unseres Inventars in ein Ansible-kompatibles Format definieren wir uns ein Jinja-Template, das die einzelnen Einträge automatisch in die Gruppen einsortiert.

motherstarter/ansible/hosts.j2

Bild motherstarter ansible hosts

Diese zwei Dateien genügen bereits, um unser Inventar zu erstellen.

Bild motherstarter Inventar

Vollständige Verzeichnisstruktur

Leider lässt sich kein allgemeines Basisverzeichnis für die verschiedenen Optionen angeben, so dass der Befehlsaufruf etwas sperrig wirkt. Aus diesem Grund zeigen wir hier noch einmal die vollständige Verzeichnisstruktur:

Bild hosts Datei

Die hosts-Datei kann man anschließend direkt als Ansible-Inventar verwenden.

Im nächsten Teil der Serie geht es darum, wie wir an die Fakten über Systeme kommen, die wir für ein Ansible-Playbook benötigen – und zwar nicht nur statische Fakten, sondern auch dynamische. Denn für letztere müssen wir einen anderen Weg gehen.

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

Dell APEX Plattform

Dell APEX – das Wichtigste im Überblick

Consumption-Modell für flexibel skalierbare IT-Ressourcen. Die Concat, langjähriger As-a-Service-Spezialist, nimmt Dell APEX in ihr Lösungsportfolio auf. Was ist Dell APEX? Dell Apex ist eine Cloud-Computing- und Edge-Computing-Plattform von Dell Technologies, [...]
Frauen in der IT Blog

Warum die IT mehr weibliche Vorbilder braucht

Ada Lovelace, Grace Hopper, Margaret Hamilton, Adele Goldberg. Kluge Frauen waren einst wegweisend für die Softwarebranche, dann gerieten sie in Vergessenheit. Weltberühmt wurden weniger die Pionierinnen der Informatik als 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.
* erforderliche Angabe*
© 2023 Concat AG – IT Solutions | All Rights Reserved | A Meridian Group International Company