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

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

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

Chef-Server fürs Konfigurationsmanagement aufsetzen

AWS OpsWorks for Chef Automate, Teil 1

Chef-Server fürs Konfigurationsmanagement aufsetzen

Der verwaltete Config-Management-Service von AWS hört auf den Namen OpsWorks. Dieser Workshop beschreibt, wie man mit OpsWorks einen Chef-Server aufsetzt und dann einen existenten Host zum Chef-verwalteten Knoten macht, um auf diesem per Rezept eine Webanwendung zu bootstrappen. lesen

GitLab als Marktführer in der Softwareentwicklung

100 Millionen Dollar für DevOps-Vision

GitLab als Marktführer in der Softwareentwicklung

GitLab plant neue Investitionen, um sich im DevOps-Bereich von der Planung bis hin zum Monitoring möglichst breit aufzustellen. Dabei hilft eine 100 Millionen Dollar hohe „series D“-Finanzierungsrunde, die den Wert von GitLab auf über eine Milliarde Dollar hochtreibt. lesen

Wo möchte man auf der DevOps-Reifeskala stehen?

Verschiedene DevOps-Umsetzungen

Wo möchte man auf der DevOps-Reifeskala stehen?

DevOps wird meist in einer der folgenden drei Formen umgesetzt: Als Lite-Version, Operations-orientiertes oder Development-orientiertes DevOps. Aber welches Modell passt zu meinem Unternehmen? lesen

IaC mit AWS OpsWorks implementieren

Konfigurationsmanagement in AWS

IaC mit AWS OpsWorks implementieren

„Wir würden gerne die Konfiguration unserer Server in AWS automatisieren. Welche Möglichkeiten existieren für die Umsetzung von Infrastructure as Code?“ lesen

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

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)