IT-Systemmanagement per Ansible: Architekturüberblick und Custom Inventories

In IT-Umgebungen sind zentralisierte Systemkonfi­guration und Automatisierung ohne Tools wie Ansible undenkbar. So erschließen Sie hausinterne Datenquellen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 10 Kommentare lesen
Lesezeit: 16 Min.
Von
  • Daniel Kobras
  • Mark Pröhl
Inhaltsverzeichnis

Für das Konfigurationsmanagement und das automatische Ausrollen auf verschiedenste Systemkomponenten hat sich Ansible in den letzten Jahren zu einem der wichtigsten Werkzeuge entwickelt. Red Hat – seit der Übernahme der Firma Ansible Inc. im Jahr 2015 Haupttriebfeder der Ansible-Entwicklung – und die internationale Community tragen durch ihre Arbeit zum Erfolg bei. Und auch zahlreiche Cloud-Provider und Anbieter von Netzwerkhardware entwickeln Ansible-Module, um ihre jeweiligen Produkte zeitgemäß über Playbooks verwaltbar zu machen. Ergänzt durch die Communityplattform Ansible Galaxy steht somit ein reichhaltig gefülltes Sortiment an direkt nutzbaren Werkzeugen zur Verfügung.

Dieses Tutorial wendet sich an diejenigen, die Ansible bereits einsetzen und vor der Aufgabe stehen, eigene Anpassungen und Erweiterungen zu entwickeln. Dieser erste Teil behandelt zunächst die Architektur von Ansible und widmet sich dem wichtigen Thema der Inventories, speziell den Möglichkeiten, eigene Inventory-Quellen anzubinden. Die weiteren Tutorialteile werden sich dann mit dem Entwickeln verschiedener anderer Plug-in-Typen und -Module befassen.

Mehr zu Ansible:

Anwender verfassen Playbooks in der leicht erlernbaren Definitionssprache YAML. Sie dienen dem Automatisieren der Systemkonfiguration, man sollte sie aber nicht als Computerprogramm betrachten: Eine wesentliche Überlebensregel beim Schreiben von Playbooks lautet nämlich, gerade nicht zu programmieren, sondern lediglich die Soll-Konfiguration der verwalteten Systeme zu beschreiben. Zwar unterstützen Playbooks Konstrukte wie Variablen, Schleifen und auch eine gewisse Ablaufsteuerung durch das bedingte Ausführen von Tasks, aber das alles ist eher rudimentär gehalten. Mit der Ansible zugrunde liegenden Programmiersprache Python kommen die Schreibenden in der Regel gar nicht oder erst sehr spät in Berührung.