Puppet

puppet

© Copyright Shutterstock / Visual Generation

Was ist Puppet?

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:

Die Programmiersprache ist eine deklarative Sprache, die den Zustand eines Computersystems in Form von “Ressourcen” beschreibt, die zugrunde liegende Netzwerk- und Betriebssystem-Konstrukte darstellen.
Mit Puppet können Benutzer Systeme plattformunabhĂ€ngig konfigurieren, indem die Betriebssystemkonzepte als strukturierte Daten darstellen. Anstatt die genauen Befehle zum AusfĂŒhren einer Systemaktion anzugeben, erstellt der Benutzer eine Ressource, die dann in systemspezifische Anweisungen ĂŒbersetzt, die an die zu konfigurierende Maschine gesendet wird.
Ein normaler Verlauf durchlĂ€uft vier Stufen, bis schließlich der Agent einen Bericht an den Master sendet, in dem angegeben ist, welche Änderungen vorgenommen wurden und welche Fehler aufgetreten sind.

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?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte