Kali ini saya akan membahas tentang cara menulis inventory hosts ansible dengan menggunakan (INI Syntax), dan disini juga saya juga akan menambahkan dengan beserta study casenya.
Sebelumnya saya sudah membahas tentang bagaiamana belajar cara membuat inventory hosts menggunakan YAML Syntax :
Jika misalkan disini saya akan melakukan konfigurasi 2 group hosts :
[web_server] dan [db_server], dimana masing-masing group tersebut mempunyai satu (1) hosts, disini saya hanya menggunakan 1 hosts saja (tentative) jika kaliang ingin menggunakan lebih dari 1 host, yang terpenting secara konsepnya kurang lebih sama.
Berikut contoh Inventory Hosts :
Disini saya sudah membuat contoh inventory hosts menggunakan INI syntax.
[all:vars] [web_server] web_server_1 ansible_host=192.168.56.100 ansible_user=root ansible_ssd_private_key_file=~/.ssh/id.rsa ansible_ssh_common_args='-o StrictHostKeyChecking=no' [db_server] db_server_1 ansible_host=192.168.56.200 ansible_user=root ansible_ssd_private_key_file=~/.ssh/id.rsa ansible_ssh_common_args='-o StrictHostKeyChecking=no'
Keterangan dari Inventory tersebut :
web_serveradalah parameter dari penamaan suatu group yang dimana supaya identitasnya lebih mudah dipahami.ansible_host=192.168.56.100yaitu ip address server yang akan kita tuju untuk melakukan komunikasi atau bisa dibilang hostnyaansible_user=rootdisini yang dimaksud adalah user pada server yang akan kita remote melalui SSH (karena disini saya menggunakan user root ,tentativebisa menggunakan user biasa tergantung config / inventory yang kita buat).ansible_ssd_private_key_file=~/.ssh/id.rsayaitu parameter dari penyimpanan private key di file directory root laptop kita, jika kita gunakan sebagai host ansiblenya, koneksi SSH menggunakan key-pair tanpa password.ssh_common_args='-o StrictHostKeyChecking=no'syntax ini berfungsi sebagai opsi untuk kita supaya tidak perlu menambahkan / skipping bagian verifikasi fingerprint contoh saat kita melakukan remote SSH ke Host baru.
Dan juga ada parameter lainya yang belum saya terapkan pada inventory tersebut ialah:
ansible_password: digunakan untuk mengganti bagian private key yang berada di partansible_ssd_private_key_file=~/.ssh/id.rsa.ansible_port: digunakan untuk menyesuaikan port dari SSH si servernya.
Langkah-langkah pointing inventory hosts ke server with Ansible :
Berikut ini langkah-langkahnya menggunakan INI syntax dengan menjadikan laptop saya yang di install WSL Ubuntu sebagai hosts Ansiblenya dan menerapkan Ansible untuk test Ping ke server dengan 1 kali syntax.
1. Siapkan 2 VM dan syntax inventorynya
Topologi sebagai berikut

- Masuk ke inventory hosts yaitu laptop saya yang sudah saya install WSL ubuntu dan masuk ke file directory
/etc/ansible/hostspada dasarnya itu adalah file directory default dari ansible jika tidak ada perubahan directory file (tentative bisa dirubah di file directory lain).
root@DESKTOP-KFCM1IQ:~# nano /etc/ansible/hosts
2. Masukan syntax INI ke hosts inventory
- Input syntax yang telah kita buat diatas tadi kedalam directory ansible

save konfigurasi tersebut.
3. Test Ping menggunakan ansible
- Kemudian lakukan test ping menggunakan ansible dengan cara ketik’an syntax berikut
root@DESKTOP-KFCM1IQ:~# ansible all -i /etc/ansible/hosts -m ping
Penjelasanya parameter syntax ansible :
Ansiblecommand ansible (kita jalankan)alladalah command semua hosts-ioption untuk menambahkan path inventory host (NB :-iini digunakan jika path directorynya tidak default ya)/etc/ansible/hostsadalah path inventory host (file directory) dikarenakan path saya masih default , jadi sesuaikan path host kalian.-moption modulepingnama module
Jika masih bingung tentang option module ansible ketik saja bantuan ansible dengan ketik’an syntax dibawah ini, akan ada banyak module option dan penjelasanya :
root@DESKTOP-KFCM1IQ:~# ansible -i /etc/ansible/hosts -m shell --help
- Lalu hasilnya ketika inventory hosts yang kita buat menggunakan INI syntax dengan benar tata cara penulisanya maka akan berhasil seperti gambar dibawah ini.

4. Test update repo menggunakan Ansible
- Lakukan test update repo menggunakan ansible dengan syntax berikut
root@DESKTOP-KFCM1IQ:~# ansible all -i /etc/ansible/hosts -a "apt-get update -y"
- Seperti gambar dibawah ini jika command yang kita jalankan menggunakan syntax tsb

Selesai, kurang lebih seperti itu study case dan penjelasanya serta langkah-langkahnya di materi menulis inventory hosts menggunakan INI syntax with automation ansible.
Refrensi by lukmanlab

Admin website igunawan.com, System Administrator, DevOps Engineer
One Comment