Jetzt können wir einiges erledigen, da wir in der Lage sind, virtuelle Boxen spontan zu erstellen und sie zu zerstören, wann immer wir sie vermasseln… und wir werden sie ziemlich oft vermasseln, nehme ich an.
Im letzten Blogbeitrag haben wir Puppet installiert. Das wird uns helfen, unsere Systemkonfigurationen Schritt für Schritt zu verbessern und viele verschiedene Boxen für verschiedene Zwecke zu bauen. Vor allem werden unsere Boxen konsistent sein.
Verhalte dich nicht wie eine Maschine
Vor nicht allzu langer Zeit musste ich mich um einige Testserver für ein Unternehmen kümmern, die sie für manuelle Tests verwendet haben. Die Boxen selbst hatten im Grunde das gleiche Layout, nur die Versionen einiger Softwarekomponenten waren unterschiedlich. Im Grunde… wir sprechen von acht virtuellen Maschinen, die zu 100% manuell erstellt, konfiguriert und gewartet wurden. Jeden Tag gab es verschiedene Probleme, oder sagen wir Inkonsistenzen. Die Boxen verloren mit der Zeit an Qualität. Das Einrichten neuer Boxen führte immer zu fehlenden Komponenten oder Komponenten mit falschen Versionen oder Komponenten, die nicht richtig konfiguriert waren. Ja, es war ein checklistenbasierter Ansatz: folge Checkliste A, um die Maschine zu erstellen, dann Checkliste B, um sie zu konfigurieren, und so weiter.
Meiner Erfahrung nach gilt folgendes:
Mensch + Checkliste = Automatisierung
Manche Menschen haben Angst davor. Besonders in Zeiten wirtschaftlicher Rezessionen und Entlassungen. Meine Erkenntnis: Folge niemals irgendwelchen Checklisten; sei derjenige, der weiß, wie man Prozesse automatisiert, um am Markt zu bleiben.
Lass uns wieder technisch werden.
”Hello World” mit Puppet
Glücklicherweise habe ich das folgende Tutorial bei Bitfield Consulting gefunden. Es hat sehr geholfen, eine einfache Puppet-Konfiguration zu erstellen, die “Hello Puppet” ausgibt. Diese Konfiguration wird der Ausgangspunkt für komplexere Konfigurationen in der Zukunft sein. Fürs Erste müssen wir nur überprüfen, ob der grundlegende Mechanismus funktioniert.
Ich habe alles auf GitHub committe. Führe folgendes aus, um es zu bekommen:
git clone git@github.com:tobias-wissmueller/hello_puppet.git
Gehe nun in das Verzeichnis, füge die Box hinzu und starte sie.
cd hello_puppet
vagrant box add hello_puppet_box <path_to_your_box>/package.box
chmod 0600 id_rsa.vagrant
vagrant up

Alles hat funktioniert, wenn du den obigen Bildschirm siehst. Vagrant hat automatisch Puppet ausgeführt, um ein Modul bereitzustellen, das “Hello Puppet!” auf der Konsole ausgibt.
So cool! Aber nicht wirklich nützlich. ;-)
In Zukunft werden wir das erweitern. Wir werden in der Lage sein, virtuelle Maschinen für verschiedene Zwecke auf vollständig automatisierte Weise zu bauen. Die Basis ist unsere grundlegende Vagrant-Box, die wir mit verschiedenen Softwarekonfigurationen bereitstellen werden, wie wir sie brauchen.
Und wieder: alles vollständig automatisiert und vollständig versioniert. Wir geben uns mit nichts weniger zufrieden!
Fertig für heute!