Ansible mit Vagrant ausführen

Ansible mit Vagrant ausführen

Wird Ansible zur automatisierten Provisionierung eingesetzt, lässt sich mit Vagrant schnell und einfach eine lokale, konsistente Testumgebung aufbauen. Vagrant besitzt einen eingebauten Ansible-Provider, den wir in folgendem Vagrantfile beispielhaft zusammen mit VirtualBox als Hypervisor aufrufen möchten. Alle drei Werkzeuge sind quelloffen und kostenfrei.

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/xenial64"

  config.vm.provision "shell", inline: <<-SHELL
    test -e /usr/bin/python || (apt-get update && apt-get install -y python-minimal build-essential python-pip unzip)
  SHELL

  config.vm.provision "ansible" do |ansible|
    ansible.verbose = "vv"
    ansible.playbook = "playbook.yml"
  end

  config.vm.provider "virtualbox" do |v|
    v.memory = 1024
    v.cpus = 4
  end
end

Vagrant installiert die notwendigen Python-Abhängigkeiten für Ansible. Anschließend wird „playbook.yml“ ausgeführt. Startet man nun Vagrant mit folgendem Befehl

vagrant up --provision

kümmert sich Vagrant um das Erstellen der VM sowie das anschließende Provisionieren mit Ansible.

Leave a Reply