Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Cloud Computing

Was ist Marionette?

In DevOps möchte man so viele Aufgaben wie möglich automatisieren. Die manuelle Konfiguration von Umgebungen dauert bei riesigen Infrastrukturen Wochen. Wenn alles eingerichtet ist, löschen Sie Brände, anstatt neue effektive Lösungen wie Rancher-Server zu implementieren.

Puppet hilft bei der Automatisierung manueller Aufgaben, um Systeme schnell bereitzustellen und Anwendungen bereitzustellen. Das dynamische Infrastrukturmanagement ist das Herzstück von Puppet.

Dieser Artikel erklärt, was Puppet ist, welche Probleme es löst und wie man Puppet verwendet, um manuelle Aufgaben als DevOps-Team erfolgreich zu automatisieren.

Was ist Puppet?

Puppet ist ein IaC-Tool (Infrastructure as Code) zur Verwaltung mehrerer Server. Puppet ist (hauptsächlich) in Ruby geschrieben, läuft auf mehreren Unix-ähnlichen Systemen und unterstützt auch Windows.

Die Software ist sehr ausgereift, die Erstveröffentlichung erfolgte im Jahr 2005. Puppet ist als kostenlose Open-Source-Software erhältlich, und für komplexe Infrastrukturen ist auch eine proprietäre Version verfügbar.

Wofür wird Puppet verwendet?

Puppet automatisiert die Verwaltung und Bereitstellung der Serverkonfiguration. Die Software ermöglicht es, Fäden zu ziehen und Zustände auf mehreren Systemen gleichzeitig zu verwalten, und der Ansatz reduziert die manuelle Einrichtung und Verwaltung einzelner Server.

Puppet definiert den gewünschten Zustand für das System und nicht, wie man dorthin gelangt. Die Konfiguration gilt für verschiedene Plattformen und Geräte und behält den Status in der gesamten Infrastruktur bei. Insgesamt müssen Systemadministratoren weniger Feuer löschen, sodass das DevOps-Team neue und bessere Serverlösungen implementieren kann.

Puppet-Konfigurationsverwaltung

Automatisierungsskripts helfen bei sich wiederholenden Aufgaben wie der Installation und Konfiguration von Servern. Wenn Sie jedoch mit einer umfangreichen Infrastruktur arbeiten, skalieren Automatisierungsskripts nicht.

Das Konfigurationsmanagement bietet eine Lösung für umfangreiche Infrastrukturkonfigurationen. Die Praktiken gelten als das Rückgrat von DevOps und ermöglichen häufige und zuverlässigere Software-Releases in einer etablierten DevOps-Pipeline.

Die Verwaltung der Serverkonfiguration erfolgt dank des Infrastructure-as-Code-Ansatzes. Im Fall von Puppet befindet sich der Serververwaltungscode in Puppet-Code, der Ruby ähnelt. Die Sprache ist deklarativ und beschreibt eine modellbasierte Konfiguration.

Wie funktioniert Puppet?

Puppet verwendet einen Client-Server-Ansatz und besteht aus den folgenden Systemen:

In den folgenden Abschnitten werden die wesentlichen Puppet-Elemente und die Terminologie erläutert, die dabei helfen, die Funktionsweise von Puppet zu verdeutlichen.

Puppentopologie und -architektur

Puppet verwendet eine Client/Server-Architektur, die aus Puppet Master und Puppet Agents besteht. Puppet Agents verwendet den Pull-Modus, um den Master abzufragen und knotenspezifische und standortspezifische Konfigurationsinformationen abzurufen.

Die Topologie durchläuft die folgenden Schritte:

  1. Ein Knoten, auf dem ein Puppet-Agent-Daemon läuft, sammelt alle Informationen (Fakten) über sich selbst, und der Agent sendet die Fakten an den Puppet-Master.
  2. Der Puppet-Master verwendet die Daten, um einen Katalog zu erstellen, wie der Knoten konfiguriert werden sollte, und sendet ihn zurück an den Puppet-Agent.
  3. Der Puppet Agent konfiguriert sich selbst basierend auf dem Katalog und meldet sich beim Puppet Master zurück.

Puppet verwendet ein Dienstprogramm namens Facter um Systeminformationen zu entdecken. Das Tool wird standardmäßig mit der Puppet-Installation geliefert.

Puppenmeister

Der Puppet Master ist ein Daemon, der auf einem dedizierten Server läuft. Der Puppet Master ist die Informationsquelle und Konfigurationsautorität als Serverknoten. Der Master sendet Anweisungen an alle Agentenknoten und überwacht die Konfiguration des Systems.

Der Puppet Master ist für die folgenden Aufgaben verantwortlich:

Puppet verwendet die Identitätszugriffsverwaltung durch einen dedizierten Benutzer und eine Gruppe, die Sicherheit bietet und nur die erforderlichen Informationen für Agenten offenlegt. Allerdings erfordern nicht alle Aktionen erhöhte Berechtigungen.

Marionettenagenten

Der Puppet-Agent ist ein Puppet-Daemon, der auf einem System oder Knoten ausgeführt wird. Agenten haben bestimmte Berechtigungen auf dem Knoten, um vom Puppet-Master abgerufene Konfigurationskataloge anzuwenden.

Um Kommunikationsberechtigungen zu erhalten, fordert ein Agent beim ersten Kontakt mit dem Master ein SSL-Zertifikat an. Das Zertifikat wird jedes Mal überprüft, wenn der Agent den Master nach Konfigurationsaktualisierungen fragt, bevor er die Informationen sendet. Ein Master authentifiziert sich auch bei den Agenten, um korrekte Konfigurationsinformationen sicherzustellen.

Puppet-Agenten ändern die Systemkonfiguration und benötigen Root-Berechtigungen, um Aufgaben auszuführen.

Puppet-Verschlüsselung und Kommunikationssicherheit

Puppet verwendet OpenSSL für Kommunikation und Sicherheit. Basierend auf SSL- und TLS-Protokollen verwendet Puppet Standard-SSL/TLS-Verschlüsselung und SSL-Zertifikate für die Agenten-/Master-Authentifizierung und -Verifizierung. Darüber hinaus verschlüsselt Puppet den Datenverkehr zwischen den Agenten und Servern mit SSL/TLS und SHA-256 als Standard-Hash.

Verschlüsselungsmethoden in Puppet stellen Folgendes sicher:

Der Master generiert sein eigenes CA-Zertifikat, seinen privaten Schlüssel, seine CRL (Certificate Revocation List) und ein Serverzertifikat. Das Serverzertifikat wird an Agenten gesendet, um die SSL- und TLS-Kommunikation zu ermöglichen.

Vorteile von Puppet und warum Sie es verwenden sollten

Puppet ist eines der ältesten und beliebtesten Automatisierungstools für das Konfigurationsmanagement. Nachfolgend finden Sie fünf Vorteile, die gute Gründe für die Verwendung von Puppet sind.

1. Open-Source

Puppet ist Open Source, was die Technologie erweiterbar macht. Benutzerdefinierte Bibliotheken und Module bereichern individuelle Projekte entsprechend Ihrem Anwendungsfall.

Open Source bietet auch den Vorteil einer aktiven Community. Viele Diskussionen, Foren und Experten stehen bereit, um zu helfen und Fragen zu beantworten.

2. Ressourcenabstraktion

Konfigurationsaufgaben wiederholen sich, und dieselben Schritte sind häufig auf Servern mit unterschiedlichen Betriebssystemen durch plattformspezifische Schritte erforderlich. Sich an alle Befehle zu erinnern, ist eine unmögliche Aufgabe.

Factor hilft Puppet, die Besonderheiten herauszufinden und Abstraktion zu erreichen. Systemspezifische Daten und OS-Details sind Puppet dank Factor bekannt.

3. Idempotenz

Redundante Konfigurationen sind ein komplexes Problem, wenn mit zahlreichen Servern gearbeitet wird, und Puppet zielt darauf ab, nur die Änderungen anzuwenden, die das System betreffen. Wenn der gewünschte Zustand der Infrastruktur erreicht ist, führt Puppet die Befehle nicht aus. Diese Puppet-Funktion ist als Idempotenz bekannt, die dazu beiträgt, Redundanz zu reduzieren und die Effizienz zu steigern.

4. Plattformübergreifend

Puppet deckt eine breite Palette von Plattformen ab, was die Anzahl der Server im Prozess der Konfigurationsautomatisierung erhöht. Das Tool funktioniert unter Windows, OS X, Debian-basierten Systemen, Fedora, Gentoo, RHEL und Solaris.

5. Flexibel

Die Puppet-Sprache bietet eine Möglichkeit, Anweisungen zu überschreiben und Ausnahmen für verschiedene Szenarien zu erstellen. Puppet hilft auch bei der regelmäßigen Planung bestimmter Wartungsaktionen.

Schlussfolgerung

Puppet ist ein leistungsstarkes Tool zum Verwalten von Konfigurationen und Serveraufgaben und eine ausgezeichnete Wahl für stabile Server, die sich nicht dynamisch oder häufig ändern.

Um zu sehen, wie Puppet im Vergleich zu anderen ähnlichen Technologien abschneidet, lesen Sie unseren Vergleichsartikel:Ansible vs. Terraform vs. Puppet.


Cloud Computing

  1. Was ist Diamantdrehen?
  2. Was ist Ultraschallbearbeitung?
  3. Was ist Rotationsformen?
  4. Was ist Chrome-Plating?
  5. Was ist ein Stanzwerkzeug?
  6. Was ist Friktionsbohren?
  7. Was ist Punktschweißen?
  8. Was ist verzinktes Eisen?
  9. Was ist eine neue Plattform in der Cloud?
  10. Was ist A2-Stahl?