Ansible Provisioning With Vagrant

Introduction

Setelah sebelumnya kita belajar bagaimana melakukan Bash Provisioning Dengan Vagrant, sekarang kita akan melanjutkan belajar provisioning menggunakan ansible.

Ansible adalah sebuah provisioning tool yang dikembangkan oleh RedHat. Dimana kamu dapat mencatat setiap proses deployment ataupun konfigurasi yang biasa dilakukan berulang - ulang terhadap beberapa server.

Create Vagrantfile

Mulailah dengan memuat vagrantfile:

  config.vm.define "vm02" do |vm02|
      vm02.vm.box = "ubuntu/xenial64"
      vm02.vm.hostname = "vm02"
      vm02.vm.network :privat_enetwork, ip: "10.3.3.11"
      vm02.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
      end
      vm02.vm.network "forwarded_port", guest: 80, host:8002
      vm02.vm.provision "ansible" do |x|
	x.verbose = "v"
	x.playbook = "provision/playbook.yml"
      end
  end

Penjelasan :

Download file provisioning ansible disini, lalu extrak dan letakkan pada directory yang sama dengan vagrantfiile, kemudian jalankan vm02 dengan perintah vagrant up.

Provisioning

Pastikan vm02 dalam kondisi running, untuk provisioning kali ini kita akan coba install webserver apache dan build web dengan jinja2, silahkan oprek ansiblenya dan disesuaikan dengan kebutuhan. Untuk membuktikan hasil proovisioningnya, editlah variable nama pada file provision/roles/apache/vars/main.yml dengan nama anda. Untuk menjalankan provisioningnya gunakan perintah:

vagrant provision vm02

Dari provisioning diatas kita akan mendapatkan result sebagai berikut: