Panduan ini merupakan sebuah catatan sederhana untuk belajar Ansible beserta dengan beberapa studi case didalamnya. Dan mungkin akan mendapatkan update sesuai dengan case baru yang penulis dapatkan kedepannya.
Ansible sendiri merupakan sebuah tools automation yang akan membantu kamu untuk mempermudah proses post installation. Contohnya ketika kamu selesai melakukan installasi server kamu pasti akan melanjutkan installasi service seperi webserver, database server dll. Bayangkan apabila servernya banyak dan kamu harus melakukan manual pasti akan memakan waktu cukup banyak.
Dengan ansible kamu dapat membuat satu konfigurasi yang bisa digunakan secara berulang untuk server lainnya sehingga kamu hanya perlu menjalankan script tersebut.
Ada 2 Komponen utama yang akan sering kamu temukan pada ansible, diantaranya :
Inventory merupakan file yang berikan informasi mengenai server/host yang akan menjadi target installasi, informasinya berisian alamat ip, username, password, port, dll. Contohnya :
all:
hosts: # Mendefinisikan bahwa ini host
server1: # Nama dari host
ansible_connection: ssh # protocol yang digunakan
ansible_host: "192.168.56.11" # Alamat Host
ansible_user: vagrant # Username Host
Playbook merupakan file yang berisikan script automasi yang akan kita jalankan nantinya, dalam playbook ini nanti akan di mention host mana yang akan menjalankan script tersebut dan apa saja task yang akan dijalankan pada saat file di eksekusi. Contohnya
- name: Playbook 1 # Mendefinisikan Task playbook
hosts: server1 # Host yang akan dieksekusi sesuai inventory
tasks: # Memulai Task
- name: membuat file test # Nama task yang akan dijalankan
command: touch /tmp/test.txt # Eksekusi task (kasus ini adalah command)
Untuk menjalankan ansible anda hanya perlu menggunakan perintah berikut pada folder utama inventory dan playbook yang sudah dibuat.
ansible-playbook -i inventory.yml playbook.yml
Pada panduan ini saya mengaplikasikan beberapa case menggunakan VM dengan bantuan vagrant, saya menyertakan juga Vagrantfile pada folder berikut vagrant setup. Ini hanya optional saja, kamu bisa menggunakan server langsung atau cloud untuk mengaplikasikan vagrant ini.
Jika kamu berminat, kamu bisa pelajari vagrant pada link berikut Belajar Vagrant
Berikut Roadmap yang dapat kamu ikuti untuk belajar mengenai Ansible :
- Menjalankan Ansible di Local
- Ansible Conditional
- Ansible Loop
- Ansible Variable
- Notify & Handler
- Install Nginx di VM
- Deploy Docker di VM
- Vault
- Deploy with ssh password
- Server Full Seup
- Install kubernetes
- Fetch File
Terima kasih banyak kepada kalian yang sudah menjadi referensi saya untuk menulis panduan sederhana ini :