Tutorial Vagrant: Provisioning VM VirtualBox dengan Vagrant

Sebelumya kita sudah berkenalan apa itu vagrant, sudah mengerti cara instalasi vagrant di linux ubuntu.

Latar belakang:

Disini biasanya kita ketika butuh VMs kan setup cara manual / memainkan mouse di dashboard VirtualBox sampai VM jadi terus di Start dan melakukan instalasi OS Ubuntu / Windows #mungkin sampai finish baru bisa dipakai.

Hal seperti ini bisa kita kurangi langkah kerjanya dengan cara menyediakan template / applicance kemudian tinggal kita import kedalam VirtualBox. Cara seperti ini juga cukup efektif… Setuju?

Namun ada cara lain yang lebih singkat dan anda tentu akan menyukainya. Hhe… Pakai apa? Vagrant!

Vagrant

Dengan vagrant, kita hanya perlu ketik-ketik script pada file terus tinggal jalanin, beres… Simplenya seperti itu. Silahkan simak sendiri nanti proses provisioningnya.

Disini saya berikan tutorial best practices-nya ya… Jika anda ingin belajar lebih dalam silahkan kunjungi dokumentasi resmi vagrant: https://www.vagrantup.com/docs/index.html semua sudah disediakan disitu. Jika ada kesulitan bisa didiskusikan di kolom komentar bawah…

Persiapan

Langkah-langkah Provisioning VMs

Anda cukup buat file dengan nama Vagrantfile kemudian jalankan command vagrant up. Simple kan? Hhe…

1 – Buat file Vagrantfile

$ mkdir learn-vagran
$ cd learn-vagran
$ nano Vagrantfile

Isi Vagrantfile dengan script berikut:

VAGRANTFILE_API_VERSION = "2"
 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", ip: "192.168.50.4"
  config.vm.define "node1"
  config.vm.hostname = "node1"

  config.vm.provider "virtualbox" do |vb|
    vb.name = "Ubuntu-Vagrant16.04"
    vb.cpus = 2
    vb.memory = 1024
  end
end

Script diatas, akan mem-provisioning Ubuntu Server 16.04 dengan settingan seperti yang tertera. Jika anda ingin provisioning image lain bisa pilih di repo: https://app.vagrantup.com/boxes/search.

2 – Running Up

Jalankan Vagrantfile tersebut:

$ vagrant up

Outputnya seperti berikut, tunggu saja sampai selesai sambil monitor dashboard Virtualbox:

Bringing machine 'node1' up with 'virtualbox' provider...
==> node1: Box 'ubuntu/xenial64' could not be found. Attempting to find and install...
    node1: Box Provider: virtualbox
    node1: Box Version: >= 0
==> node1: Loading metadata for box 'ubuntu/xenial64'
    node1: URL: https://vagrantcloud.com/ubuntu/xenial64
==> node1: Adding box 'ubuntu/xenial64' (v20190507.0.0) for provider: virtualbox

Proses diatas kenapa lama? Karena vagrant perlu download dulu image boxes dari repository vagrant. Proses download ini hanya sekali, jadi ketika anda hapus VMs kemudian jalankan Vagrantfile-nya vagrant up prosesnya akan cepet karena images sudah disimpan. Bisa anda cek dengan command vagrant box list.

Dokumentasi advanced tentang provisioning virtualbox dengan vagrant sudah saya posting di Github: https://github.com/lukmanlab/vagrant-virtualbox