Einweg-VM zur Runtime erstellen

Konfiguration durch Puppet

Wie bereits erwähnt, ist Puppet ein Tool, das komplette Systeme, welche in Puppet „node“ genannt werden, konfiguriert. Hierfür wird eine Puppet-Datei benötigt, die die Systemkonfiguration beschreibt. Diese Dateien werden in Puppet „Manifest“ genannt. Ein einfaches Beispiel einer solchen Puppet-Datei sieht wie folgt aus:

group { "puppet":
	ensure => "present",
}
File { owner => 0, group => 0, mode => 0644 }
file { '/etc/motd':
	content => "Welcome to your Vagrant-built virtual machine!
	Managed by Puppet.n"
}

Diese Puppet-Datei ändert die Begrüßungsmeldung eines Systems. Da man in Vagrant nun Puppet zur Konfiguration der virtuellen Maschinen nutzen kann, können wir dieses Script einfach in die Konfiguration unserer VM übernehmen. Hierfür wird das Vagrantfile um einige Zeilen erweitert, die Puppet als Provisioner definieren und auf das obere Puppet-Script referenzieren:

Vagrant::Config.run do |config|
	config.vm.box = "lucid32"
	config.vm.box_url = "http://files.vagrantup.com/lucid32.box"
	config.vm.provision :puppet do |puppet|
		puppet.manifests_path = "manifests"
 		puppet.manifest_file = "my_manifest.pp"
  end
end

Das Puppet-Script muss in diesem Beispiel unter „manifests/my_manifest.pp“ im Vagrant-Ordner liegen.

Nachdem wir die VM nun erzeugt und uns per SSH mit ihr verbunden haben, erscheint die neue Willkommens-Nachricht. Auf allen Vagrant-Templates ist Puppet vorinstalliert. So kann Vagrant nach der Erstellung der VM automatisch das Puppet-Script auf dieser ausführen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.