Eine erste Box mit Vagrant

Schritt 1: Eine einfache Box mit Vagrant

Die Dateien zu diesem Schritt des Workshops findest du als git repository auf github:

https://github.com/timoschmidt/vagrant-chef-workshop/tree/master/step1

Was ist Vagrant?

Vagrant ist ein Wrapper für unterschiedliche Virtualisierungsplattformen. Eine sehr verbreitete Virtualisierungsplattform ist VirtualBox von Oracle. VirtualBox bietet die Möglichkeit lokal mehrere virtuelle Maschinen anzulegen und unterstützt alle gängigen Betriessysteme. Neben VirtualBox unterstützt Vagrant aber auch andere Plattformen, wie VMWare Fusion.

Was ist Chef?

Chef ist ein Tool um Maschinen zu konfigurieren (provisieren). Die Provisionierung erfolgt mit sogenannten Rezepten. Diese Rezepze folgen einem konventionellen Aufbau und sind in ruby implementiert. Aber keine Panik, die Struktur ist einfach und die Ruby Syntax, die für ein Rezept benötigt wird hält sich in Grenzen.

 

Mehrere dieser Rezepte sind zu Kochbüchern zusammengefasst und diese Kochbücher können beim erstellen der Maschine importiert werden. Ein Vorteil von Chef an dieser Stelle ist, dass es schon sehr viele Kochbücher im Netz zu Verfügung stehen um häufig genutzte Dienste zu Konfigurieren. Ein Beispiel ist z.b. das Apache Kochbuch. Es bietet viele Möglichkeiten um den beliebten Webserver zu konfigurieren.

Hello Vagrant

Bevor wir anfangen können, müssen wir Vagrant und VirtualBox herunterladen und installieren.

Vagrant kann hier heruntergeladen werden:

www.vagrantup.com/downloads.html

 

VirtualBox ist hier zu finden:

https://www.virtualbox.org/wiki/Downloads

 

Um eine einfache Maschine mit Vagrant zu installieren, sind die folgenden Schritte notwendig:

mkdir step1
cd step1
vagrant init

Vagrant ezeugt automatisch eine Datei "Vagrantfile". Diese Datei enthält ein einfaches Vagrant Setup das ausführlich dokumentiert ist. Es ist hilfreich, sich diese Kommentare durchzulesen, denn sie erklären jede der verwendeten Funktionen.

 

Um einen Ubuntu Server zu installieren, auf dem keine Dienst läuft, muss das Vagrantfile wiefolgt angepasst werden:


 

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "trusty64"
  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  config.vm.network :private_network, ip: "192.168.33.10"
end

VagrantBox starten

Nachdem das Vagrantfile modifiziert wurde, kannst du die Box mit folgendem Kommando starten:

vagrant up

Vagrant lädt nun das VirtualBox Image herunter und konfiguriert die virtuelle Maschine, dabei werden alle Schritte ohne interaktive Eingagbe durchgeführt.

 

Nach ein paar Minuten kannst du den Server mit folgendem Kommando per ssh erreichen:

 

vagrant ssh

Wie du sehen kannst, ist es ziemlich einfach eine Virtuelle Maschine mit vagrant zu starten. Bis jetzt läuft aber noch keine Dienst auf unserem Server.

Um einen Diesnt auf dem Server zu installieren können wir Chef als "provisioner" benutzen. Dieser Provisioner wird genutzt um die Box zu konfigurieren.


Im nächsten Abschnitt werden wir Chef als Provisioner konfigurieren und ein einfaches Kochbuch ausführen um einen ersten Eindruck von Chef zu gewinnen.

 

Navigation