Lokale Puppet-Entwicklung mit Geppetto und VMware
Dieser Artikel beschreibt die lokale Entwicklungsumgebung und Workflow, die ich für die Entwicklung und Erprobung Multi-System-Konfigurationen, die von Puppet verwaltet werden. VMWare Workstation wird verwendet, um lokale Puppet Master-und Test-Knoten mit '/ etc / puppet "auf der Meister Geppetto Workstation auf meinem lokalen Computer zugeordnet laufen.
Ziele
Effektive und effiziente Entwicklung von Puppet-konfigurierten Systemen erfordert häufige Integration und Tests: die Puppet Code, den Sie schreiben, sollte sofort auf einem Puppet Master zu erscheinen und den verschiedenen Knoten mit einem Testsystem angewendet werden.
Wie es funktioniert
Windows als ich meinen lokalen Workstation. Die Puppet Manifeste werden in einem Code-Repository gespeichert, wie Subversion oder Git. Geppetto ist der IDE. VMware Workstation bietet virtuelle Server für einen lokalen Puppet Master und einem oder mehreren Tests Knoten, die eine Multi-Computer-System-Konfiguration zu simulieren.
Mit Geppetto, der Puppet-Code wird in einen lokalen Arbeitsbereich auf meinem Windows-Workstation überprüft. VMware Workstation macht diese "Geppetto Workspace" stehen dem Puppet Master virtuellen Server. Diese Montage wird "nur lesen", als persönliche Präferenz. Ich Softlink die "/ etc / puppet 'Verzeichnis auf dem Puppet Master, dies eingebundenen Dateisystem.
Jegliche Änderungen am Code, dass ich jetzt machen mit dem Geppetto Redakteur wird sofort auf dem lokalen Puppet Master erscheinen. Beachten Sie, dass ich noch nicht in jedem Code geprüft. All dieser Entwicklungsarbeit ist lokal auf meinem Arbeitsplatz.
Regression und Funktionsprüfung durch die Auslösung der Puppet-Agenten auf den verschiedenen Test-Nodes getan. Ich häufig wieder ein Test Node zu einer Basis Snapshot, um die Puppet manifest gründlich testen.
Bei diesem Ansatz, der Kodex-Prüfzyklus ist schnell und gibt mehr Sicherheit, dass der Code, den ich schließlich in Check wird sowohl in einer Bare-Metal-Szenario sowie inkrementellen Patch auf einem bereits laufenden Umfeld erfolgreich.
Nach dem Check in, der Code zu einem QA Umwelt und schließlich die Produktion Servern bereitgestellt.
Wie bauen Sie
VMware Ordnerfreigabe ist die einzige schwierigste Schritt bei der Erreichung dieses lokalen Entwicklungsumgebung. Hier ist, wie es zu tun.
Erstelle einen Virtual Server auf den lokalen Puppet Master sein
Erstelle ich eine Debian-basierte virtuelle Maschine, die als Puppet Master verwenden. Generieren des Puppet Katalog ist arbeitsspeicherintensiven, so dass ich dafür mehr als genug Speicher, 2GB.
Konfigurieren Geppetto Local Workspace
The Puppet-Repository wird von Geppetto zu einem lokalen Arbeitsbereich ausgecheckt auf der Workstation. Dieses Verzeichnis wird in der nächsten Stufe verwendet werden,, Einrichten Ordnerfreigabe.
Aktivieren Ordner Sharing auf VMworkstation
Aktivieren Ordner Freigabe in der Registerkarte Optionen für die Puppet Master virtuelle Maschine und wählen Sie den gleichen Ordner wie von Geppetto verwendet werden, wenn sie ihre lokalen Code-Repository Arbeitsbereich erzeugt.
Installieren von VMware Tools in Puppet Master Virtual Machine
Beim Starten des Puppet Master virtuellen Maschine, Sie werden die Erinnerung Meldung siehe unten:
Montieren Sie das CD-Rom-Laufwerk mit "mount / dev / cdrom / 'Befehl von innerhalb des Gast, extrahieren Sie die VMwareTools Archiv und führen Sie dann das '/ vmware-install.pl.' Befehl.
Wenn Sie die Fehlermeldung unten, dann müssen Sie zusätzliche Schritte zu ergreifen, um zu installieren machen, gcc und die Kernel-Header für den Gast.
Unter Debian diese Pakete installiert sind mit dem Befehl:
Bei der Verwendung von VMware Workstation 7, Sie müssen möglicherweise den vollständigen Pfad zum gcc-4.3 Paket angeben, wie unten gezeigt:
Ebenfalls, Sie müssen manuell den Speicherort der Kernel-Header. In meiner virtuellen Maschine, sie werden in '/ usr/src/linux-headers-2.6.32-5-686/include' befindet. Das wird anders sein für Ihren Computer:
Die VMware Tools sollte jetzt kompilieren und zeigt die Erfolgsmeldungen unten:
Linking / etc / puppet montiert Filesystem
Damit der Puppet Master, um die Module auf dem freigegebenen Ordner gespeichert nutzen, der einfachste Ansatz ist, um das Verzeichnis "/ etc / puppet" mit einem Softlink auf die eingebundenen Dateisystem ersetzen, wie in der Befehlszeile unten:
Wir können nun bestätigen, dass der "/ etc / puppet 'Verzeichnis auf dem Puppet Master virtuelle Maschine ist ein Nur-Lese-Montage des Geppetto Arbeitsbereich auf dem lokalen Arbeitsplatz, wie durch den Test unten:
Seien Sie den ersten Kommentar. Hinterlasse einen Kommentar