Foreman ist ein mächtiges Life-Cycle-Management-Tool, dass Puppet perfekt ergänzt. Es kümmert sich hierbei im Gegensatz zu Puppet nicht um die Konfiguration, sondern eher um den Lebenszyklus diverser Hosts, dabei ist nebensächlich ob es sich um virtualisierte Systeme oder echte Hardware handelt.
Foreman kann man auf verschiedene Weise nutzen. Als besseres Puppet-Dashboard, External-Node-Classifier, CMDB oder komplett mit Foreman-Proxys, die sich z.B. um DNS, DHCP, PXE und TFTP kümmern können.
In anderen Worten mit Foreman kann man über wenige Klicks einen neuen Host anlegen, welcher dann über PXE-Boot installiert wird und anschließend seine Pakete und Konfiguration via Puppet erhält. Um das ganze abzurunden werden bei Bedarf auch gleich noch DNS Einträge inklusive der oft vergessenen Reverse-Einträge erstellt und auf den konfigurierten DNS-Server gepushed.
Das ganze funktioniert mit allen gängigen Distributionen. Debian, Ubuntu, Suse, CentOS, RedHat.
Das geniale an Foreman ist, dass es sehr flexibel strukturiert ist, so dass man auch leicht Anpassungen vornehmen kann (Partitionslayout etc.) – für die gewisse Extrawurst 🙂

Hallo,
mich interessiert das Thema sehr. Können Sie einbischen zum Lifecycle Managment erläutern?
Grundinstallation und anfängliche Betankung mit Configs und einigen Paketen via puppet ist nur Geburrt. Was ist mit Patchmanagment, Bulk Upgrades, Software Rollbacks?
Danke im voraus
Hallo free-x,
im wesentlichen beschränkt sich Foreman auf die ‚Geburt‘ und das Löschen des Servers inkl. seiner IPs, DNS-Einträgen etc.
Wir nutzen für das Patchen – auch im Bulk – noch Updian, orientieren uns aber gerade in Richtung mcollective. Hier wird definitiv noch ein Blog-Post zum Thema mcollective folgen.
Für Rollbacks/Deployments nutzen wir Puppet mit Environments in Kombination mit Git.
Viele Grüße
Sebastian