Sofern Sie den Blog von Puppet Labs verfolgen haben Sie sicherlich schon unseren Blog bezüglich Anwendungs- und Infrastrukturmanagement mit VMware vRealize Orchestrator und Puppet Enterprise gesehen: https://puppetlabs.com/blog/deploy-and-manage-applications-and-infrastructure-with-VMware-and-Puppet-Enterprise
Die letzte Version des Plugins ist über den VMware Solution Exchange verfügbar : https://solutionexchange.vmware.com/store/products/vrealize-orchestrator-vro-puppet-plugin#.VZaAWHjlG4R
Es gibt auch ein ausführliches Benutzerhandbuch welches die Benutzung des Plugins genauer beschreibt: http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-puppet-plugin-10-guide.pdf
Einen Teil des Benutzerhandbuchs werde ich hier durch bildliche Beispielnutzung erweitern.
Ich bin ein großer Fan und Unterstützer der VMware vRealize Orchestrator Workflow Lösung. Die Kombination VMware vRealize Orchestrator und Puppet Enterprise ermöglicht unendliche viele Anwendungsfälle der Automatisierung. Ich benutze dieses Plugin während meiner Puppet Enterprise Demos bei VMware Kunden um die einfache Integration zwischen beiden Welten zu zeigen indem Sie das Orchestrator Plugin benutzen. Nach ein paar Präsentationen ist es nun an der Zeit das Plugin innerhalb einer Serie von Blogartikeln genauer zu beschreiben.
Das vRealize Orchestrator Puppet Plugin erlaubt die Interaktion zwischen vRealize Orchestrator und Puppet. Das Plugin bietet dazu eine große Anzahl an Möglichkeiten verschiedene Puppet Aufgaben mittels einzelner oder kombinierter Workflows zu automatisieren:
- Registrierung und Management von mehreren Puppet Master Instanzen innerhalb des vRealize Orchestrator Inventories. Das Puppet Plugin benutzt SSH für die Interaktion mit dem Puppet Master.
- Installation und Konfiguration von Puppet Agenten auf einem Linux Node (mittels SSH) und Windows Node (mittels Powershell) .
- Management von Node Zertifikaten mittels Signierung von Zertifikaten bei einem Certificate Signing Request (CSR) auf dem Puppet Master.
- Erstellung und Pflege von Hiera und Manifest Klassifizierungen von Puppet Nodes.
- Auslösen eines einzelnen Puppet Agenten Laufs durch Nutzung von SSH auf Linux Nodes und Powershell auf Windows Nodes.
- Entfernung eines Node Agenten Zertifikats vom Puppet Master.
- Experimenteller Support für die Nutzung der Rake API welche für die Klassifizierung der Puppet Enterprise Node Classification genutzt werden kann.
Die Anforderungen und die notwendigen Schritte für die Installation des Plugins sind in dem verlinkten Benutzerhandbuch beschrieben. Wenn Sie die Installation des Plugins abgeschlossen haben können wir mit der Konfiguration für die Interaktion mit einer vorhandenen Puppet Umgebung anfangen.
Konfiguration – Hinzufügen eines Puppet Master (Configuration – Add A Puppet Master)
Sie müssen einen oder mehrere Puppet Master mit dem Plugin registrieren um die Nodes des jeweiligen Puppet Master über das Plugin zu managen. Die folgende Prozedur beschreibt die dafür notwendigen Schritte innerhalb des vRealize Orchestrator Clients:
- Wechseln Sie innerhalb des vRealize Orchestrator Clients auf die Workflow Ansicht.
- Wählen Sie den Konfigurationsordner aus über Library > Puppet > Configuration.
- Rechte Maustaste auf dem Add a Puppet Master workflow und Start Workflow auswählen.
- Innerhalb des Feld Puppet Master Name geben Sie den Namen des Masters ein. Ich habe hierfür den FQDN meines Puppet Masters master.inf.puppetlabs.demo benutzt.
- Geben Sie die SSH Information für die Verbindung mit dem Puppet Master system innerhalb des IP Address Feldes and. Ich habe dafür die IP Adresse 10.20.1.12 verwendet.
- Akzeptieren oder ändern Sie den Standard TCP Port 22 für die Verbindung mittels SSH.
- Geben Sie die Login Informationen für die Anmeldung über SSH an (Username und Password).
- Klicken Sie auf Submit um den Workflow zu starten.
Sie können die gleiche Prozedur für das hinzufügen von weiteren Puppet Master Instanzen verwenden. Nach dem Hinzufügen der einzelnen Master Instanzen sollten bei jedem Puppet Master einmal die Verbindung mittels des Workflows Validate your Puppet Master überprüfen.
Konfiguration – Validieren eines Puppet Master (Configuration – Validate a Puppet Master)
Dieser Workflow validiert die SSH Verbindung zum Puppet Master. Dieser Workflow aktualisiert zudem die zwischengespeicherten Informationen wie z.B. die Version des Puppet Masters innerhalb des Puppet Plugin. Die folgende Prozedur kann dazu verwendet werden einen Puppet Master zu validieren:
- Wechseln Sie innerhalb des vRealize Orchestrator Clients auf die Workflow Ansicht.
- Wählen Sie den Konfigurationsordner aus über Library > Puppet > Configuration.
- Rechte Maustaste auf den Workflow Validate a Puppet Master und Start Workflow auswählen.
- Klicken Sie auf die Puppet Master – Not set Auswahlmöglichkeit.
- Eine Inventory Dialogbox öffnet sich dann.
- Erweitern Sie die Puppet Master Ansicht.
- Selektieren Sie den Puppet Master für die Validierung. In meinem Beispiel habe ich den master auf der IP 10.20.1.12 ausgewählt.
- Klicken Sie auf Submit um den Workflow zu starten.
Nach dem Lauf des Workflows können Sie über das Schema Tab kontrollieren ob der Lauf des Workflows erfolgreich war….
oder nicht…
In diesem Fall können Sie über die Variablen und Logs tabs das Workflows prüfen ob es bei der Ausführung einen Fehler gab. In meinem Beispiel gab es ein Problem mit der Namensauflösung bzw. der Route zu der IP Adresse des Master von der vRealize Orchestrator Appliance aus:
Sofern die Validierung erfolgreich war können Sie nun anfangen die Workflows des vRealize Orchestrator Plugins zu benutzen um Ihre Puppet Enterprise Umgebung zu verwalten.
Konfiguration – Aktualisierung eines Puppet Master (Configuration – Update a Puppet Master)
Der Workflow Update a Puppet Master aktualisiert die existierenden Puppet Master Konfigurationen wie z.B. die IP Adresse, die SSH Port Nummer und die Benutzer und Kennwort Konfiguration. Die folgende Prozedur beschreibt die Nutzung des Workflows:
- Wechseln Sie innerhalb des vRealize Orchestrator Clients auf die Workflow Ansicht.
- Wählen Sie den Konfigurationsordner aus über Library > Puppet > Configuration.
- Rechte Maustaste auf den Workflow Update a Puppet Master workflow und Auswahl von Start workflow.
- Klicken Sie auf das Puppet Master Not set Auswahlfeld.
- Ein Inventory Dialog öffnet sich.
- Erweitern Sie die Puppet Master Ansicht.
- Wählen Sie den jeweiligen Puppet Master für die Aktualisierung aus.
- Geben Sie den neuen Puppet Master name innerhalb des Name Testfelds ein. Ich habe dazu den FQDN Namen mynewmastername.inf.puppetlabs.demo verwendet.
- Geben Sie die SSH information für die Verbindung mit dem Puppet Master innerhalb des IP Address Feldes ein.
- (Optional) Geben Sie die neue SSH Portnummer ein. Ich habe in meinem Beispiel den Port 22121 verwendet.
- Geben Sie die neuen Puppet Master Anmeldeinformationen für die Verbindung mittels SSH ein
- Klicken Sie auf Submit to um den Workflow zu starten.
Konfiguration – Entfernen eines Puppet Master (Configuration – Remove a Puppet Master)
Der Workflow Remove a Puppet Master entfernt einen Puppet Master vorn der Puppet plug-in Inventory Liste. Die folgende Prozedur kann hierzu verwendet werden:
![](http://pixel.wp.com/b.gif?host=godevops.de&blog=101700899&post=84&subd=godevopsblog&ref=&feed=1)