Inhaltsverzeichnis

Ansible - Erweiterte Konfigurationsbeispiele

Bild: Ansible Logo

Nachdem wir uns bereits eingehend mit den Grundlagen, mit der Installation von Ansible und auch schon mit der Grundkonfiguration beschäftigt sowie erste Erfahrungen mit Playbooks gesammelt haben, wollen wir uns nun mit der tiefer gehenden Konfiguration von Ansible beschäftigen und Überlegungen anstellen, wie z.B.:

Nennen wir das der Einfachheit halber kurz: Plan A.

Alternativ könnte man aber auch, sinnlos wertvolle Arbeitszeit totschlagen, und sich in zahlreichen Besprechungsrunden austauschen und ausdiskutieren, wie man z.B. Hostinformationen aus einer /etc/genders1) extrahiert, in eine Inventory-Datei konvertiert und manuell mit Variablen anreichert oder sich abstimmen zu wollen, welcher Editor nun die bessere Wahl sein, nano, vim oder vscode mit diversen add-ons nun die bessere Wahl sei.

Der geneigte Leser und verantwortlich agierende Admin wird sich doch wohl eher und das auch sehr schnell im Klaren sein, dass es keinerlei Sinn macht, sich in Nebensächlichkeiten zu verlieren. Vielmehr wird dieser zum Schluss kommen, dass wohl eher Plan A zum Ziel führen wird! Da hilft auch kein Verweis auf altbackene Slogans wie z.B. Spezialisten wissen mehrm(

Wir werden uns also zunächst grundlegende Gedanken zu unserer Ansible-Umgebung machen und die wesentlichen Dinge festzurren!

Plan A - die Aufgabenblöcke

Wo laufen die Ansible Scripte?

Auf welchem Host unsere Ansible-Scripte aka Playbooks laufen sollen, hängt im Wesentlichen erst einmal von den zu Grunde liegenden Sicherheitsvorgaben ab, die dem Admin als Leitplanken vorgegeben sind. Die könnte sein, ein dedizierter Linux-Administrations-Rechner oder ein speziell abgestellter Linux-Host im Intranet bzw, in einer eigens vorgegebenen DMZ sein. Wichtig ist dabei nur dass dieser Host reproduzierbar wiederhergestellt oder bei Bedarf auch dupliziert werden kann. Ziel muss dabei immer sein, dass auf allen Maschinen der Admin die gleiche sichere Umgebung vorfindet und keine manuellen Anpassungen mehr vorgenommen werden müssen.

Wie so eine Umgebung geschaffen werden kann, wollen wir uns nun an Hand einiger Beispiele genauer ansehen.

weitere Beispiele

  1. Admin Benutzer verwalten (v1)
    Oft steht man vor der Herausforderung, Admin-Konten auf unzähligen Zielsystemen anzulegen und wieder zu löschen. So sind im Zuge eines onboarding von neuen Admins jeweils Konten anzulegen und mit Passworten und Schlüsselmaterial zu versorgen. Beim Ausscheiden eines Admins, müssen dessen|ihre Konten samt Passworten und Schlüssel wieder gelöscht werden.
    Möchte ein bestehender Admin sein|ihr Passwort oder Schlüssel ändern, kann dies auch zu einer zeitraubenden Tätigkeit ausarten. In diesem Beispiel werden wir also das Anlegen und Löschen der Konten samt Passwörter und Schlüsselmaterial sowie die Pflege dieser Daten mit Hilfe von Ansible automatisieren?
  2. Admin Benutzer verwalten (v2)
    im zweiten Beispiel werden wir uns mit dem Thema: „Wie prüfen wir die Variablen aus dem Inventory auf Validität, Plausibilität und ob diese gesetzte sind?“ Hierzu verwenden wir das Ansible Modul ansible.builtin.assert und verfeinern unser Playbook aus dem Beispiel 1.

Links

1)
aus dem Jahre 2004!