Installation von Puppet (Teil 1) – Der Puppet Master

Puppet ist eine Möglichkeit, wie ich zentralisiert ein Management von Windows, Linux und auf Wunsch auch Mac-Systeme durchführen kann und hat sich neben Tools wie Chef, Ansible und Saltstack seit vielen Jahren am Markt etabliert. Mit Hilfe von Puppet kann nahezu alles erreicht werden: Die Installation von Software, die Konfiguration von Systemen, die Definition von einem gewünschten Zustand, ….

Grundsätzlich gibt es einen oder mehrere Puppet Master-Server, auf dem die Konfiguration gehalten und betrieben wird. Auf den zu verwaltenden Systemen wird ein Puppet Agent installiert, der mit dem Master-Server spricht und nach einer Konfiguration fragt. Ist solch eine Konfiguration vorhanden (z.B. soll immer ein gewünschtes Paket installiert sein), setzt der Agent die gewünschte Konfiguration um. Befindet sich der Server bereits im gewünschten Zustand, wird nichts gemacht. Ändert sich ein Paket, die Version von einem Paket oder es kommt ein zweites hinzu, kann dies zentral auf dem Master konfiguriert werden und nach kurzer Zeit befinden sich alle Server im gewünschten Zustand.

In dieser Blogpost-Reihe beschreibe ich die Installation des Master-Servers, die Installation von dem Puppet-Agent auf einem Demo-System sowie eine Beschreibung, wie man mit der Erstellung und Nutzung der ersten Ressourcen beginnen kann.

Installation des Puppet Master Server

Zur Installation laden wir uns die benötigte Paket-Quelle von apt.puppetlabs.com herunter.

Nach dem Download installieren wir das Paket und aktualisieren unsere Paketquellen.

Nach dem Upate können wir den Puppet Master installieren.

Durch die Installation von dem Passenger-Paket wird direkt Apache2 als Webserver mit installiert.

Version statisch halten

Wenn man möchte, kann man die Version seiner Puppet-Installation beibehalten. Dies hat den Vorteil, dass ein Update nicht die gesamte Konfiguration zerlegt und man das alles aus einem Backup wiederherstellen muss. Soll solch ein festpinnen auf die gerade installierte Version gemacht werden, kann dies in den Einstellungen des apt-Paketmanagers gemacht werden. Dazu muss man die aktuelle Version auslesen

Nun muss man unter /etc/apt/preferences.d eine neue Datei anlegen, die apt dazu zwingt, nur die gewünschte Paket-Version zu installieren.

Hier muss der folgende Inhalt eingetragen werden:

Optional: Zertifikat mit alternativen Namen erstellen

Bei der Installation wird automatisch ein Zertifikat erstellt, welches unter /var/lib/puppet/ssl abgelegt wird.

Möchte man noch alternative Namen in seinem Zertifikat verwenden, müssen die Zertifikate entfernt werden, danach muss die Konfiguration angepasst werden.

Der Eintrag dns_alt_names könnte noch mit weiteren Namen ergänzt werden.

Wäre dies notwendig, können die Zertifikate danach wieder neu erstellt werden. Hierzu müsste der Befehl

aufgerufen werden. Ich in meinem Fall belasse es erstmal bei dem Standard-Namen und Zertifikat. Möchte man sich den aktuellen Stand der Zertifikate (sowohl vom Master-Server als auch von den Puppet-Clients) anschauen, geht dies immer mit dem Befehl

Wenn der Parameter -all nicht genutzt wird, werden lediglich ausstehende Client-Zertifikate angefragt, die noch nicht für eine Verbindung mit dem Master autorisiert wurden. Befindet sich ein “+” vor dem Zertifikat, ist dies ein bekannter und vertrauenswürdiges Zertifikat.

Besitzt der Master-Server ein Zertifikat, kann dies im weiteren Verlauf für die Signierung von Puppet-Clients genutzt werden.
Eine weitere Beschreibung der Haupt-Konfigurationsdatei puppet.conf befindet sich hier: Config files: The main config file (puppet.conf)

Wir sind nun an dieser Stelle erst einmal mit der Konfiguration und Installation des Puppet Masters fertig, weiter geht es im zweiten Beitrag mit der Installation des Clients.

Jan

Jan Kappen arbeitet sein 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Seit September 2018 ist Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.