Ansible Playbooks adalah tempat di mana kode Ansible ditulis, sejenis automation tasks yang dapat menjalankan perintah dengan sedikit atau hampir tidak perlu melibatkan campur tangan manusia. Playbooks merupakan salah satu bagian dari Ansible inventory. Di artikel ini, kamu akan mempelajari bagaimana cara menulis, membuat hingga menjalankan Ansible Playbooks di server.
Ansible
Ansible adalah tool manajemen konfigurasi yang modern dan tidak memerlukan software agent pada Remote Nodes atau Hosts Node. Namun, kamu hanya perlu menggunakan SSH dan Python saja untuk berkomunikasi dan mengeksekusi perintah pada Hosts Node. Provisioning tool ini dikembangkan oleh salah satu perusahaan yang terkenal membuat software open source, RedHat.
Keberadaan arsitektur yang tidak memerlukan software khusus untuk diinstal pada server/node membuat Ansible bisa kamu gunakan sebagai alternatif yang bagus untuk otomasi server. Selain itu, Ansible juga menggunakan SSH untuk mengeksekusi automation task dan file YAML (Yet Another Markup Language) yang bisa dibaca manusia untuk menentukan provisioning details.
Ansible memungkinkan penggunanya untuk mengelola server dengan dua cara berbeda. Cara pertama menggunakan Ad-Hoc Command dan yang kedua dengan Playbooks. Playbooks adalah YAML berisi daftar tasks yang harus dijalankan di Hosts Node untuk menyelesaikan tasks atau mencapai goal, seperti setup LEMP.
Baca juga: Apa itu Bug? Kenali Jenis, Penyebab, dan Cara Mencegahnya
Cara Menulis Ansible Playbooks
Ada beberapa hal yang perlu disiapkan:
- Memiliki 3 VPS yang aktif dengan OS Ubuntu 20.04.
- Memiliki akses root.
Tiga VPS yang perlu disiapkan untuk:
- Satu Ansible Control Node: Ansible Control Node yang akan digunakan untuk connect dan control ke Ansible Host melalui SSH.
- Dua Ansible Hosts: Ansible Host nantinya akan dikontrol oleh Ansible Control Node yang sudah dikonfigurasi untuk otomasi.
Baca Juga: Berkenalan dengan Ubuntu
Kemudian, kita akan memulai dan menjalankan Ansible Playbooks dengan cara berikut.
Create & Running Ansible Playbooks
Playbooks menggunakan format YAML untuk menentukan 1 atau lebih plays. Di sini kami memulai dengan membuat direktori baru dengan nama “ansible-practice”. Penulisan Ansible Playbooks dilakukan di Ansible Control Node.
$ cd ~ $ mkdir ansible-practice $ cd ansible-practice
Salin inventory file ke direktori yang baru kamu buat, yaitu ansible-practice.
$ cp ~/ansible/inventory ~/ansible-practice/inventory
Buat file playbook baru.
$ nano playbook-01.yml
Tambahkan konten di bawah ini.
--- - hosts: all tasks: - name: Print message debug: msg: Hello Testing Ansible
Kemudian simpan dan keluar.
Coba hasil playbook ini pada server yang kamu setup di inventory file dengan menjalankan perintah ansible-playbook. Di sini kami menggunakan inventory file dengan nama inventory dan root untuk menghubungkan ke remote server atau Ansible Hosts.
$ ansible-playbooks -i inventory -u root
Maka outputnya akan seperti di bawah ini.
PLAY [all] ********************************************************************* TASK [Gathering Facts] ********************************************************* Enter passphrase for key '/root/.ssh/id_rsa': ok: [103.xxx.xxx.201] TASK [Print message] *********************************************************** ok: [103.xxx.xxx.201] => { "msg": "Hello Testing Ansible" } PLAY RECAP ********************************************************************* 103.xxx.xxx.201 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Playbook di sini maksudnya adalah suatu konfigurasi yang berisi kumpulan role pada Ansible yang dapat dijalankan untuk mengonfigurasi sebuah server, dengan jumlah server yang ada pada Ansible Hosts.
Baca Juga: Quick Setup VPS Self Managed Dewaweb
Simpulan
Salah satu bagian Ansible inventory adalah Playbooks yang berguna untuk melakukan otomasi konfigurasi server yang berada di Ansible Hosts. Jika saat ini kamu belum memiliki server atau ingin menambah server baru, pastikan kamu menggunakan cloud VPS dari Dewaweb agar website-mu aman, cepat, dan selalu bisa diandalkan.
Demikian artikel cara menulis, membuat, dan menjalankan Ansible Playbooks ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu.