Categories
Basic

Konsep Dasar Ansible

Logo Ansible

Apa itu Ansible ?

AnsibleĀ® is the defining automation technology. – ansible.com

Ansible merupakan salah satu automation tool yang tersedia secara open source. Kita dapat melakukan provisioning server, deployment aplikasi di server maupaun mengkonfigurasi management menggunakan Ansible.

Ansible dapat membantu seorang devops atau sysadmin untuk melakukan otomasi terhadap pekerjaannya. Mengelola server yang memiliki jumlah yang sangat banyak dengan beragam aplikasi di dalamnya dapat dipermudah menggunakan Ansible.

Ansible sendiri bersifat agentless yang berarti tidak membutuhkan agent apapun untuk menjalankannya cukup dengan koneksi SSH.

Bagaimana Cara Kerja Ansible?

Arsitektur Ansible

Seperti yang ditunjukan pada gambar, melalui koneksi SSH Ansible dapat melakukan otomasi terhadap server yang dikelola. Karena Ansible bekerja menggunakan SSH makan Ansible Managmenet wajib bisa melakukan SSH ke masing-masing server.

Ada 2 hal yang sangat penting jika kita ingin mulai menggunakan Ansible, yaitu Inventory dan Playbook.

Inventory adalah tempat di mana kita menyimpan alamat server/node yang akan kita kelola. Di inventory juga kita dapat mengelola node, seperti membuat group untuk masing-masing server dan lainnya. File inventory secara default berada di /etc/ansible/hosts.

Contoh file inventory
Contoh file inventory

Playbook adalah daftar perintah atau tugas yang disimpan dalam bentuk file sehingga kita dapat dengan mudah menjalankan perintah itu berulangkali dengan mudah. Playbook sendiri ditulis dalam bentuk YAML sehingga mudah dibaca, ditulis, dibagikan, dan dimengerti.

Contoh file playbook

Contoh menjalankan playbook :

# ansible-playbook playbook-sbmptn.yml

Sebenarnya ada 2 cara untuk menjalankan ansible, yaitu melalui playbook dan ad-hoc. Jika menjalankan ansible dengan playbook maka kita perlu untuk membuat file playbook seperti di atas. Namun jika menggunakan ad-hoc kita bisa langsung menjalankan command tanpa playbook

Namun, mode ad-hoc ini biasa digunakan untuk melakukan testing atau konfigurasi sederhana. Jika konfigurasi yang diperlukan cukup kompleks maka kita perlu menggunakan playbook. Selain itu, playbook juga lebih direkomendasikan karena dapat kita lakukan version control pada setiap perubahan playbook kita.

Leave a Reply

Your email address will not be published. Required fields are marked *