Puppet Orchestration

Puppet ist eine Automatisierungslösung für die komplette IT Infrastruktur, die es sowohl als Enterprise, als auch als Open Source Variante unter www.puppet.com gibt.

Im einfachsten Fall hält ein Puppet Server sogenannte Manifeste vor, die von den Puppet Clients periodisch abgerufen werden. Diese Manifeste stellen eine Beschreibung des Sollzustandes des Clients dar.

Auf den Clients ist die Installation einer Software notwendig. Nahezu alle aktuellen Linux- Distributionen, aber auch FreeBSD und OpenBSD enthalten den Puppet Client in einer mehr oder minder aktuellen Version. Parallel dazu gibt es auf der Seite des Herstellers stets aktuelle Pakete für Linux, MacOSX und Windows.
Als "Bonus" meldet der Puppet Client bei jedem Durchlauf detaillierte Daten seiner Konfiguration an den Puppet Server- eine Inventarisierung der Infrastruktur.
Puppet Module selbst schreiben
Durch das modulare System von Puppet können Erweiterungen, sogenannte Module, selbst einfach geschrieben werden. Verdeutlicht wird dies am Beispiel der automatisierten Installation und Konfiguration von Collectd und NTP.
Puppet Client - Could not evaluate: undefined method `[]' for nil:NilClass
Die Installation von Puppet auf einem Ubuntu System ist keine große Sache. Offenbar gibt es allerdings zusammen mit Ubuntu 16.04.1 ein Problem was die Steuerung von Diensten betrifft. Ein Workaround behebt das Problem temporär.
Puppet Client meldet sich nicht mehr beim Puppetserver
Wenn auch sehr selten, so kann es trotzdem vorkommen, dass ein Puppet Client sich nicht mehr beim Puppet Server meldet. Die Behebung dieses Umstandes ist einfach und geht schnell von der Hand.
Passwort erzeugen
Das Erzeugen eines Passwort Hashes für das automatisierte Anlegen von Benutzeraccounts durch Puppet wird hier näher beschrieben.
Puppet Node löschen
Im Lifecycle eines durch Puppet verwalteten Rechners kommt früher oder später auch der Punkt den Puppet Client aus der Verwaltung des Puppet Servers und der Puppet DB zu löschen.