Create Multiple VM with one Vagrantfile

Introduction

Menggunakan vagrant untuk kebutuhan virtualisasi sangat membantu pekerjaan developer maupun system engineer. Dengan vagrant kita dapat membuat virtual environtment dengan mudah.

Masalahnya, terkadang kita membutuhakan lebih dari satu VM untuk kebutuhan testing maupun untuk kebutuhan yang lain, dengan vagrant kita dapat membuat multipele VM hanya dengan sekali inisialisasi vagrantfile.

Membuat 2 VM Dengan 1 Vagrantfile

Pada kesempatan kali ini kita akan membuat 2 vm menggunakan 1 vagrantfile. Untuk memulainya, buatlah sebuah direktory untuk vagrantfile kita:

mkdir ~/Vagrant/multiple-vm
cd Vagrant/multiplr-vm

Lalu buatlah sebuah Vagrantfile menggunakan text editor kesayangan anda:

# Inisialisasi Vagrantfile configuration
Vagrant.configure("2") do |config|

  # definisikan vm01
  config.vm.define "vm01" do |vm01|
      vm01.vm.box = "ubuntu/xenial64"
      vm01.vm.hostname = "vm01"
      vm01.vm.network :private_network, ip: "10.3.3.10"
  end

  # definisikan vm02
  config.vm.define "vm02" do |vm02|
      vm02.vm.box = "ubuntu/xenial64"
      vm02.vm.hostname = "vm02"
      vm02.vm.network :private_network, ip: "10.3.3.11"
      vm02.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
      end
  end

end

Penjelasan konfigurasi diatas:

Menjalankan VM

Setelah itu save dengan nama Vagrantfile, lalu jalankan dengan perintah:

vagrant up
vagrant status

Maka akan terlihat status dari 2 vm kita sedang dalam kondisi running. Kita bisa masuk kedalam vm nya dengan perintah:

vagrant ssh vm01
vagrant ssh vm02

Testing Network Antar VM

Tinggal sesuaikan dengan nama vm nya, maka anda kan masuk kedalam mesin virtual.

Kita coba untuk saling melakukan ping antar vm kita: