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
- Aplikasi VirtualBox, jika belum silahkan instal terlebih dahulu, referensi: https://tecadmin.net/install-oracle-virtualbox-on-ubuntu/
- Pastikan anda sudah instal vagrant di komputer anda, referensi: https://www.lukmanlab.com/cara-instalasi-vagrant-di-linux-ubuntu/
- Komputernya pastikan akses internet.
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
Admin LUKMANLAB, DevOps Engineer, Site Reliability Engineer, System Administrator.