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

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