Skip to content

Simple Provisioning Vagrant dengan Ansible

Windy Arya edited this page Sep 25, 2023 · 3 revisions

Overview

Kita dapat menggunakan Ansible untuk melakukan provision terhadap server kita. Pada modul ini kita akan menggunakan Vagrant yang sudah dijelaskan pada modul 1. Pada contoh di sini kita akan coba untuk install Nginx melalui Ansible pada Vagrant VM.

Langkah-Langkah Provision

1. Cek Vagrant

Pertama, cek terlebih dahulu apakah kamu sudah menginstall Vagrant.

vagrant -v

2. Buat folder baru, dapat dinamakan testprov.

mkdir testprov

3. Membuat Vagrantfile

Selanjutnya, kita akan menginisiasi vagrant sehingga Vagrantfile dapat dibuat.

vagrant init ubuntu/focal64

Setelah command di atas dijalankan, maka akan terbuat Vagrantfile secara otomatis.

NOTE:

  • ubuntu/focal64 adalah versi ubuntu 20.04.6 LTS.

4. Buka Vagrantfile dan edit seperti di bawah ini.

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/focal64"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
    vb.cpus = "2"
  end

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "playbook.yaml"
  end

end

5. Kemudian, kita buat playbook.

Setelah selesai konfigurasi Vagrantfile, kita akan membuat ansible playbook dengan perintah berikut.

nano playbook.yaml

Kemudian, kita edit file tersebut sehingga menjadi seperti ini.

---
- hosts: all
  tasks:
    - name: Install Nginx to VM
      become: true
      apt:
        name: nginx
        state: latest
        update_cache: true

NOTE:

  • become diset true agar ansible mendapatkan privilege superuser atau root.
  • state adalah status dari aplikasi. Di atas kita set latest untuk mendapatkan aplikasi dengan versi paling baru.
  • update_cache adalah modul yang memberikan ansible intruksi untuk menjalankan perintah yang ekuivalen dengan sudo apt update sebelum menginstall nginx.

6. Kemudian jalankan vagrant

vagrant up

7. Untuk memverifikasi bahwa playbook telah berjalan. Kita bisa melakukan ssh ke Vagrant yang sudah dibuat.

vagrant ssh

Setelah itu kita bisa menjalankan perintah berikut

nginx -v

Apabila terdapat output seperti di bawah ini berarti ansible sudah menjalankan tugasnya untuk menginstall nginx.

nginx version: nginx/1.18.0 (ubuntu)

NOTE:

  • Jika kalian mengubah file playbook, misalnya menambahkan task baru. Kalian perlu menjalankan perintah vagrant provision untuk memberitahu vagrant untuk melakukan provisioning kembali.

Clone this wiki locally