Definition „Puppet (Software)“

Was ist Puppet?

| Autor / Redakteur: HJL / Stephan Augsten

Große Unternehmen erhalten mit Puppet Enterprise besondere Monitoring- und Continuous-Delivery-Funktionen, beispielsweise für Infrastructure-as-Code-Szenarien.
Große Unternehmen erhalten mit Puppet Enterprise besondere Monitoring- und Continuous-Delivery-Funktionen, beispielsweise für Infrastructure-as-Code-Szenarien. (Bild: Puppet)

Puppet ist ein Open-Source-Projekt mit Enterprise-Unterstützung. Das Admin-Tool erlaubt die automatisierte Konfiguration von Computern und Servern sowie der darauf installierten Dienste. Das Einsatzfeld reicht vom Einzel-Server bis hin zu großen Rechner-Verbundsystemen.

Bei der Konfiguration eines Servers bedienen sich Entwickler und Administratoren spezieller Konfigurationsmanager. Im Idealfall lassen sich damit viele Aufgaben automatisieren. Puppet wurde mit dieser Zielvorgabe im Jahre 2005 von den Puppet Labs, Portland, Oregon entwickelt. Seit April 2016 firmiert auch der Hersteller unter dem Namen Puppet.

Ideengeber und Hauptentwickler ist Luke Kanies. Das in Ruby geschriebene Konfigurations-Management-Tool ist plattformübergreifend konzipiert. Die Zielgruppe liegt jedoch eindeutig beim unixoiden DOS. Zu den unterstützen Host-Systemen gehören Stand 2018

  • CentOS
  • Oracle Linux
  • Red Hat
  • Scientific Linux
  • SuSE sowie
  • Ubuntu.

Mit einigen Einschränkungen können auch Systeme unter Windows mit Puppet konfiguriert und verwaltet werden.

Client-Server-Funktionsprinzip

Puppet liegt das Client-Server-Funktionsprinzip zugrunde, auf dem Server ist der „PuppetMaster“ resident. Er hält alle Konfigurationen der im Verbund aktiven Rechner vor. Der aktuelle Ist-Zustand des Systems wird ermittelt und mit dem für die Konfiguration hinterlegten Soll-Zustand verglichen. In Ableitung aus der ermittelten Differenz werden die erforderlichen Operationen errechnet und durchgeführt.

Grundsätzlich sind Entwickler und Administratoren in der Lage, mit Hilfe von Puppet zentral alle in ein Netzwerk eingebundenen Rechner zu verwalten. Herkömmlich konfigurierte Dienste können unbeeinflusst neben den mit Puppet hinterlegten Abläufen betrieben werden. Dies ist möglich, da alle Dateien und Konfigurationen, die nicht im PuppetMaster beschrieben sind, von dort auch nicht reglementiert werden.

Werkzeuge zur Automatisierung von großen Systemen

Die wirkungsvolle Architektur prädestiniert Puppet als Konfigurations-Management-Tool für große Systemnetzwerke und Rechnerverbundsysteme. Dies dokumentiert sich beim Blick auf die weltweit installierte Basis. Darunter finden sich komplexe Rechner-Installationen, wie beispielsweise jene von Google, Harvard und Stanford University.

Hier ist ebenfalls die charakteristische Arbeitsweise vorzufinden: Der PuppetMaster bildet die zentrale Server-Komponente während der PuppetAgent auf den zu konfigurierenden Systemen installiert ist. In der Praxis bedeutet dies, dass der Administrator auch in komplexen Verbund-Systemen in der Lage ist, den PuppetMaster auf einem definierten Server im Netzwerk anzulegen und auszuführen. Ein von Puppet erstellter „Catalog“ enthält die Modulen und Manifeste für die Konfiguration.

Einen wesentlichen Beitrag zum Komfort der Puppet-Architektur leistet der „PuppetAgent“. Er wird vom Master auf allen zu konfigurierenden Systemen ausgeführt. Als Basis dienen die im Catalog als Soll-Zustand hinterlegten Konfigurationseinstellungen. Die Kommunikation zwischen Agent und Master erfolgt über HTTPS. Zertifikate auf beiden Seiten dienen der Absicherung der bidirektionalen Kommunikationsprozesse.

Visualisierung des System-Status

Komplexe Vorgänge erfordern ein hohes Maß an Transparenz. Dies gilt insbesondere dann, wenn Puppet-Durchläufe nicht reibungslos funktionieren. Ein „PuppetReport“ wird dem Master zur Verfügung gestellt und über einen Datenbankeintrag dokumentiert. Die „PuppetDashboard“-Software visualisiert alle Status-Meldungen auf der Benutzeroberfläche des Administrators. Dieses Monitoring ist insbesondere in komplexen Netzwerken ein probates Überwachungswerkzeug.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

DevOps-Prozesse mit aPaaS optimieren

Schnellere Cloud-Deployments

DevOps-Prozesse mit aPaaS optimieren

Wollen Unternehmen ihre Applikationen schneller bereitstellen, sind DevOps-Prozesse unverzichtbar. Doch Cloud Deployments sind hochkomplex. Bei Inkonsistenzen zwischen Entwicklungs- und Live-Umgebung schleichen sich schnell Fehler ein. Mit einer Applikations-Plattform as a Service, kurz aPaaS, können Unternehmen dies vermeiden – und neue Services schneller online bringen. lesen

AWX und Ansible Tower 3.2 einrichten und nutzen

DevOps-Enabler Ansible, Teil 4

AWX und Ansible Tower 3.2 einrichten und nutzen

Nach der Installation von Ansible Tower werfen wir einen optionalen Blick auf die Installation von AWX, um uns dann mit Konzept und Arbeitsweise der grafischen Oberfläche für Ansible vertraut zu machen. Ab hier unterscheiden sich AWX und Ansible Tower kaum. lesen

Was ist Docker?

Definition „Docker (Software)“

Was ist Docker?

Docker legt Programme samt ihrer Abhängigkeiten in Images ab. Diese bilden die Basis für virtualisierte Container, die auf nahezu jedem Betriebssystem lauffähig sind. So werden Anwendungen portabel und unkompliziert, sei es während der Entwicklung oder beim Skalieren von SaaS-Clustern. lesen

Konfigurationsmanagement mit Puppet in der AWS-Cloud

AWS OpsWorks for Puppet Enterprise, Teil 3

Konfigurationsmanagement mit Puppet in der AWS-Cloud

Wurde der Puppet Enterprise-Server wie in Teil 1 unsers AWS OpsWorks-Workshops erfolgreich bereitgestellt, kann man erste verwaltete Knoten hinzufügen. Über die Puppet-Enterprise-Konsole lassen sich dann beispielsweise Knoten-Gruppen einrichten. lesen

Was ist IaC?

Definition „Infrastructure as Code“

Was ist IaC?

Infrastructure as Code ist die Fortsetzung der Unix Philosophie mit DevOps-Mitteln. Das Administrationskonzept für IT-Infrastruktur macht die individuelle Installation und Konfiguration von Hard- und Software unabhängig von manueller Interaktion. lesen

DevOps heißt nicht zwingend Automatisierung

Aufbereitete „State of DevOps“-Umfrage von Puppet

DevOps heißt nicht zwingend Automatisierung

Trotz intensiver Bemühungen, DevOps-Praktiken umzusetzen und auszubauen, sind automatisierte Prozesse noch längst nicht in den Unternehmen etabliert. Dies zeigt der aktuelle „State of DevOps Market Segmentation Report“ von Puppet. lesen

Ansible, AWX und Ansible Tower im Überblick

DevOps-Enabler Ansible, Teil 1

Ansible, AWX und Ansible Tower im Überblick

Mit Blick auf die Veröffentlichung von Ansible 2.5 und Ansible Tower 3.2.2 bringt Dev-Insider ein Rundum-Spezial im Kontext von Puppet, Chef und Salt. Dieser Teil klärt, was der Open-Source-Star besser macht als die etablierte Konkurrenz, worin sich Ansible, Ansible Tower und AWX unterscheiden und wer die Player hinter Ansible sind. lesen

Was ist SaltStack?

Definition „Salt“

Was ist SaltStack?

Das DevOps-Toolset SaltStack oder kurz Salt dient der automatisierten Steuerung und Überwachung die Infrastruktur. Die Orchestrierung von Cloud-Ressourcen, Containern und virtuellen Servern ist dabei ebenso möglich wie manuelle Remote-Ausführung und Konfigurationsmanagement. lesen

Erstellen eines Puppet-Masters

AWS OpsWorks for Puppet Enterprise, Teil 2

Erstellen eines Puppet-Masters

Ein neuer Puppet Master lässt sich unter AWS OpsWorks for Puppet Enterprise wie bei Amazon Web Services üblich über die Management-Konsole oder per AWS CLI erstellen. Das Command Line Interface spricht eher erfahrene Nutzer an, der Weg über die AWS Management Console dürfte für Einsteiger der Einfachere sein. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45333334 / Definitionen)