Zum Inhalt

Vagrant und Ansible – von der Basebox zur fertigen VM Pt. I

Vagrant und Ansible – wem das bisher noch nichts sagt, dem sei hier hoffentlich geholfen. Ich muss gestehen, ich hatte bis vor 2 Jahren selber noch nichts von diesen beiden Tools gehört, habe aber beide inzwischen sehr zu schätzen gelernt.

Was ist Vagrant?
Um es mal mit den Worten der Entwickler auszudrücken: „Vagrant ist ein Werkzeug (Tool) um virtuelle Umgebungen zu erstellen und zu verwalten.“ So in etwa die Übersetzung des englischen Textes auf der Website (https://www.vagrantup.com/intro/index.html). Vagrant nutzt dabei sogenannte Baseboxen – man kann sich dies als verpackte virtuelle Maschinen vorstellen – und erstellt aus diesen eine fertige virtuelle Maschine.

Dabei kann Vagrant auf verschiedene Provider zurückgreifen. Ein Provider ist quasi der Hypervisor bzw. die Software, die letzten Endes die virtuelle Maschine bereitstellt. Am häufigsten wird in freier Wildbahn wohl Virtualbox anzutreffen sein, Vagrant unterstützt jedoch auch VMware, Hyper-V und inzwischen auch Docker.

Vagrant legt dabei alle Parameter über das „Vagrantfile“ fest. In dieser Datei werden alle relevanten Parameter festgelegt. Dazu zählen unter Anderem: Basebox, virtuelle CPUs/Kerne, RAM der späteren VM, VM-Name und auch der Provisioner – an dieser Stelle kommt dann Ansible ins Spiel.

…und Ansible?
Ansible ist ein Tool, welches ich die letzten Monate richtig lieben gelernt habe. Ansible ist ein Werkzeug zur Automatisierung und Provisionierung sowie Administration von Servern/Computern (https://www.ansible.com/). Einsatzzwecke können dabei die initiale Installation, Verwaltung sowie Konfigurationsmanagement eines Servers sein. Im Vagrant-Kontext wird Ansible gerne als Provisioner genutzt – dazu später mehr. Mir dient Ansible inzwischen vor allem als Installations- bzw. Konfigurationstool für die Server, die ich verwalten darf. Dabei kann ich über einen Befehl einen blanken Linux Server soweit konfigurieren, dass am Ende eine voll funktionsfähige Maschine steht.

Ansible selber verbindet sich per SSH mit dem Zielserver und führt dann die gewünschten Befehle automatisch aus. Diese Befehle legt man anhand diverser Tasks fest. In diesen Tasks konfiguriert man wiederum die entsprechenden Module und Parameter.

Wird Ansible als Provisioner für Vagrant genutzt, wird der Provisionierungsvorgang nach dem erfolgreichen Erstellen der VM durch Vagrant automatisch gestartet. Dann rattern direkt alle konfigurierten Tasks durch und konfigurieren die virtuelle Maschine zum gewünschten Ergebnis.

Soviel erst mal zur Theorie. In Part II folgen die ersten Schritte mit Vagrant um eine VM zu erstellen und hochzufahren.

Published inAnsibleVagrantVirtualisierung

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.