# Puppet & Chef: Deklarative Konfiguration für Enterprise-Umgebungen

TL;DR / Management Summary Puppet und Chef sind die Pioniere des Konfigurationsmanagements. Während Ansible auf Einfachheit setzt, bieten diese Tools eine extrem tiefe Kontrolle über den Systemzustand via Ruby-basierten DSLs. Ein Senior Admin nutzt Puppet/Chef, wenn er hunderte identische Linux- oder Windows-Server über Jahre hinweg ohne “Konfigurations-Drift” betreiben muss. Sie sind die “Dauerwächter”, die alle 30 Minuten den Server wieder exakt auf den definierten Stand zurückbiegen.


# 1. Puppet: Der deklarative Wächter

Definition statt Programmierung.

Puppet nutzt eine eigene Sprache, um Ressourcen zu beschreiben.


# 2. Chef: Infrastructure as Code (Imperativ/Ruby)

Kochen nach Rezept.

Chef folgt einer kulinarischen Analogie:


# 3. Deep Dive: Agent-basiertes vs. Agentenloses Management

Der Ressourcen-Trade-off.

Merkmal Puppet / Chef Ansible
Agent Ja (Permanent) Nein (SSH)
Pull vs Push Pull (Client fragt Server) Push (Master schickt an Client)
Drift-Schutz Extrem Stark (Erzwingung) Schwächer (Nur bei Ausführung)
Lernkurve Hoch (Ruby/DSL) Gering (YAML)

# 4. Day-2 Operations: Härtung & Compliance

Sicher durch Soll-Zustand.

Puppet und Chef sind ideal für Compliance-Audits.


# 5. Troubleshooting & “War Stories”

Wenn der Wächter Amok läuft.

# Top 3 Fehlerbilder

  1. Symptom: “Certificate mismatch” bei Puppet.

    • Ursache: Der Host wurde neu installiert, aber das alte Zertifikat am Master nicht gelöscht.
    • Fix: puppetserver ca clean --certname <hostname>.
  2. Symptom: Dienst-Neustart-Schleife.

    • Ursache: Ein Rezept ändert eine Datei, die den Dienst neustartet, aber die Datei wird bei jedem Lauf minimal verändert (z.B. durch einen Zeitstempel).
  3. Symptom: High RAM Usage durch den Agent.

# “War Story”: Der “Auto-Reboot” Teufel

Ein Admin schrieb ein Chef-Rezept, das ein Kernel-Update durchführen sollte. Er vergaß die Bedingung only_if. Das Ereignis: Da Chef das Rezept alle 30 Minuten ausführte, versuchte das System alle 30 Minuten, den Kernel neu zu installieren und löste einen Reboot aus. Das Ergebnis: Die gesamte Flotte von 500 Servern befand sich in einer permanenten Neustart-Schleife. Lehre: Nutzen Sie in agent-basierten Systemen immer Guards (Bedingungen), um sicherzustellen, dass eine Aktion nur einmalig oder nur bei Bedarf ausgeführt wird.


# 6. Monitoring & Reporting

Dashboard der Flotte.

# PuppetDB / Chef Automate

Nutzen Sie die grafischen Dashboards:


# 7. Fazit & Empfehlung

Wählen Sie Ihr Werkzeug passend zur Kultur.


# Anhang: Glossar der Begriffe

Begriff Puppet Chef
Einheit Resource Resource
Skript Manifest (.pp) Recipe (.rb)
Paket Module Cookbook
Master Puppet Server Chef Infra Server

# Referenzen