Puppet

© Copyright Shutterstock / Visual Generation
Was ist Puppet?
Definition
In Computing ist Puppet ein Open-Source-Konfigurationswerkzeug. Es läuft auf vielen Unix-ähnlichen Systemen wie Microsoft Windows und enthält eine eigene deklarative Sprache, um die Systemkonfiguration zu beschreiben.
Das Tool wird von Puppet produziert, das 2005 von Luke Kanies gegründet wurde. Es wurde in C++ und Clojure geschrieben und als freie Software unter der GNU General Public License bis Version 2.7.0 und danach als Apache License 2.0 veröffentlicht.
Funktion
Puppet ist dafür konzipiert, die Konfiguration von Unix-ähnlichen und Microsoft Windows-Systemen deklarativ zu verwalten. Der Benutzer beschreibt Systemressourcen und deren Status, entweder mit der deklarativen Sprache von Puppet oder mit Ruby DSL. Diese Informationen werden in Dateien gespeichert, die als “Puppet-Manifeste” bezeichnet werden.
Es ermittelt die Systeminformationen mithilfe eines Dienstprogramms namens Facter und fasst die Puppet-Manifestationen in einem systemspezifischen Katalog zusammen, der Ressourcen und Ressourcen-Abhängigkeiten enthält, die auf die Zielsysteme angewendet werden. Alle durchgeführten Aktionen werden dann gemeldet.
Puppet besteht aus einer benutzerdefinierten deklarativen Sprache zur Beschreibung der Systemkonfiguration, die entweder direkt auf dem System angewendet oder in einen Katalog kompiliert und über das Client-Server-Paradigma (mithilfe einer REST-API) an das Zielsystem verteilt werden kann. Der Agent verwendet das System bestimmter Anbieter, um die in den Manifestationen angegebene Ressource durchzusetzen.
Mithilfe der Ressourcen-Abstraktionsschicht können Administratoren die Konfiguration auf hoher Ebene beschreiben, z.B. Benutzer, Dienste und Pakete, ohne dass betriebssystemspezifische Befehle (z.B. apt, rpm, yum) angegeben werden müssen.
Das Tool ist modellgetrieben und erfordert nur eingeschränkte Programmierkenntnisse. Es gibt es in zwei Versionen, Enterprise und Open-Source. Enterprise bietet nicht nur Funktionen für Open-Source, sondern auch GUI-, API- und Befehlszeilen-Tools für die Knotenverwaltung.
Architektur
Normalerweise greift hier die Client-Server-Architektur. Der Client wird als Agent und der Server als Master bezeichnet. Zum Testen und für eine einfache Konfiguration kann es auch als eigenständige Anwendung ausgeführt werden, die von der Befehlszeile aus ausgeführt wird.
Der Server ist auf einem oder mehreren Servern installiert und der Agent ist auf allen Computern installiert, die der Benutzer verwalten möchte. Die Agents kommunizieren mit dem Server und rufen Konfigurationsanweisungen ab. Der Agent wendet dann die Konfiguration auf das System an und sendet einen Statusbericht an den Server. Geräte können den Agent als Dämon ausführen, der regelmäßig als Cron-Job ausgelöst oder bei Bedarf manuell ausgeführt werden kann.
Die Architektur besteht aus folgenden Modulen:
Wenn Sie noch Fragen bezüglich eines Online Marketing Themas haben, dann können Sie gerne unseren Glossar besuchen und sich über das Thema informieren, wo Sie noch speziell Fragen haben.
Sie haben noch Fragen?