Open Source im professionellen Einsatz
Linux-Magazin 03/2015
© kuzma, 123RF

© kuzma, 123RF

Ordnung im Systemdschungel mit Foreman

Poliert

Orchestrierungstools wie Chef, Puppet und Saltstack helfen sehr bei der einheitlichen Administration einer Systemlandschaft, aber sie erledigen nicht alles. Foreman ergänzt die Lücken und setzt allem eine einheitliche Oberfläche auf, die dem Admin das Leben ein ganzes Stück einfacher macht.

528

Der Israeli Ohad Levy stand als Administrator vor einem Zoo an Infrastruktur, die er verwalten musste. Zum Konfigurationsmanagement fiel die Wahl auf Puppet, das zwar viele Aufgaben löst, aber nicht alles vom leeren Blech ohne Betriebssystem bis hin zum Server als funktionalem Teil der Gesamtstruktur abdeckt. Dinge wie ein Installserver für Bare Metal und eine Lösung fürs Verwalten von IP-Adressen lassen sich zwar prinzipiell über Puppet abdecken, müssten aber einzeln konfiguriert werden.

Ein selbst programmiertes Deployment-Tool

Das brachte Ohad dazu, sich die fehlenden Teile dafür selbst zu programmieren. Foreman [1] war geboren. Ausgehend von Puppet bietet der "Vorarbeiter" oder "Polier" einen parametrisierbaren Installserver, der neben den meisten Linux-Derivaten und deren Installationsmechanismen (wie Kickstart oder Preseed) auch die Installation von Free BSD, Solaris oder sogar Junipers ZTP für einige Switch-Serien zulässt.

Ist das verwaltete System installiert und über die Parameter des Template auch der Puppet-Client installiert, implementiert Foreman die hinterlegten Puppet-Klassen. Als weiterer lästiger Arbeitsschritt in der Praxis erweist sich meist auch die Suche nach der Antwort auf die Frage: Welche ist die nächste freie IP-Adresse? Diese kann Foreman beim Anlegen eines neuen Host frei vergeben oder auch einfach die nächste freie IP aus dem Pool des Netzes nehmen – Einträge im DNS vorwärts und rückwärts inklusive.

Außerdem integriert sich Foreman mit diversen Cloud- und Virtualsierungsplattformen wie etwa Open Stack, O-Virt, VMware, Rackspace und Amazons AWS, sodass die beschriebenen Funktionen auch in einer virtualisierten Umgebung funktionieren. Schließlich sammelt Foreman die Ergebnisse der Installationen und Puppet-Runs wieder ein, und so hat der Administrator schnell eine gute Übersicht, ob alle Systeme auf dem aktuellen Stand sind oder ob etwas schiefgelaufen ist. Damit kann er mit ein paar Mausklicks oder einem Kommandozeilen-Aufruf ein System hochziehen, das danach keine Konfigurationsarbeiten mehr benötigt, sondern produktiv wird.

Die Architektur

Foreman ist in Ruby geschrieben und besteht aus einem Serverprozess, der die anderen Komponenten kontrolliert, aus so genannten Smart-Proxys, die mit anderen Dienste (Puppet, DHCP, DNS, TFTP…) kommunizieren, sowie einem Web-UI und einem Kommandozeilen-Werkzeug um die gewünschte Konfiguration vorzunehmen. Zum Speichern der Daten kann Foreman eine PostgreSQL- (der Default) oder eine MySQL-Datenbank verwenden. Abbildung 1 zeigt die Architektur schematisch.

Abbildung 1: Die Architektur von Foreman umfasst Smart-Proxys, mehrere APIs, nutzt Puppet und bindet auf Wunsch Datenbanken und Verzeichnisdienste an.

Die Smart-Proxys für DNS und DHCP (jeweils in der ISC-Version) kommunizieren über die Update-Protokolle der beiden Dienste (dynamische DNS-Updates oder OMAPI) mit den jeweiligen Diensten, um dort Einträge anzulegen, nachdem in Foreman ein neuer Host erzeugt wurde. Dabei können die Dienste auch auf anderen Hosts als dem Foreman-Server laufen. Bei Puppet und dem TFTP-Server landen einfach nur die richtigen Dateien im richtigen Directory.

Ändert der Admin etwas über die Oberfläche, so schiebt der Foreman-Prozess die richtigen Informationen an den (oder die) richtigen Smart-Proxys und diese ändern die Konfiguration. Geht dabei etwas schief, sollte der Admin in die Logdatei des Smart-Proxys schauen, da hier in der Regel die Kommandos zur Änderung sowie der Fehler dazu zu finden sind. Durch diese modulare Architektur lässt sich Foreman leicht um andere Orchestrierungswerkzeuge wie Chef oder Saltstack erweitern.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • The Foreman 1.7.0 verbessert Smart Class Parameter

    Das Lifecycle Systems Management Tool The Foreman, das materielle und virtuelle Server in Kooperation mit Puppet und Chef bestückt, konfiguriert und überwacht, gibt es nun in Version 1.7.0.

  • RH Satellite 6

    Dass die Trägerraketen von Satelliten mit großem Gedonner abheben, weiß jeder. Angetrieben von Buzzwords launchte Red Hat mit dem Satellite Server 6 im September seine neueste Lösung fürs Lifecycle Management. Dass die richtige Umlaufbahn noch nicht erreicht ist, geben die Amerikaner gerne zu.

  • Chef und Puppet

    Puppet und Chef gelten als Allheilmittel für große IT-Architekturen, in Devops-Szenarien führt an den Konfigurationsmanagern kaum ein Weg vorbei. Doch der Teufel steckt im Detail und wer nicht aufpasst, steigt schnell in ein veritables Fettnäpfchen.

  • Leserbriefe
  • Triple O

    Der Begriff Cloud umfasst auch das Prinzip, Vorgänge so weit wie möglich zu systematisieren und zu automatisieren. Doch geht es darum, die Cloud dazu zu nutzen, sich selbst zu automatisieren, dann trennt sich die Spreu vom Weizen. Open Stack will das Problem angehen und bringt Triple O.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.