Puppet ist ein Open-Source-Configuration-Management-Tool, das zur Automatisierung der IT-Infrastruktur verwendet wird. Es hilft dabei, Server und Software automatisch bereitzustellen, zu konfigurieren und zu verwalten. Puppet wird häufig in DevOps- und Cloud-Umgebungen eingesetzt.
✅ Deklarative Sprache: Infrastruktur wird in einer eigenen DSL (Domain-Specific Language) beschrieben.
✅ Agent-Master-Architektur: Zentraler Puppet-Server verteilt Konfigurationen an Clients (Agents).
✅ Idempotenz: Änderungen werden nur durchgeführt, wenn sie nötig sind.
✅ Plattformunabhängig: Unterstützt Linux, Windows, MacOS und Cloud-Umgebungen.
✅ Modularität: Große Community mit vielen vordefinierten Modulen.
Ein Puppet-Manifest (.pp
-Datei) könnte so aussehen:
package { 'nginx':
ensure => installed,
}
service { 'nginx':
ensure => running,
enable => true,
require => Package['nginx'],
}
file { '/var/www/html/index.html':
ensure => file,
content => '<h1>Hello, Puppet!</h1>',
require => Service['nginx'],
}
🔹 Dieses Puppet-Skript sorgt dafür, dass Nginx installiert ist, läuft, beim Systemstart aktiviert ist und eine einfache HTML-Seite enthält.
1️⃣ Schreiben eines Manifests (.pp
-Dateien) mit den gewünschten Konfigurationen.
2️⃣ Puppet Master sendet Konfigurationen an die Puppet Agents (Server/Clients).
3️⃣ Puppet Agent überprüft den Zustand des Systems und nimmt nur notwendige Änderungen vor.
Puppet wird häufig in großen IT-Umgebungen genutzt, um Server konsistent und effizient zu verwalten.