Heyyo minna, kali ini kita akan membahas kita akan membahas tentang bagaimana membuat automation dengan Ansible untuk menjalankan perintah menginstall Telnet.
Automasi Ansible adalah alat pengelolaan konfigurasi dan automasi yang mengotomatisasi pengelolaan infrastruktur, implementasi aplikasi, penyediaan cloud, dan banyak proses IT lainnya. Ini menggunakan bahasa deklaratif untuk menggambarkan keadaan yang diinginkan dari sistem, dan mengotomatisasi proses mencapai keadaan tersebut dengan melakukan tugas pada host remote.
Dengan Ansible, Anda dapat mengelola beberapa sistem dari satu node kontrol, dan alat ini dirancang sederhana, mudah dipelajari, dan efisien. Ini menggunakan arsitektur berbasis push, di mana tugas diteruskan dari node kontrol ke host yang dikelola, dan bergantung pada protokol shell yang aman (SSH) untuk komunikasi. Ini membuatnya mudah dimulai dan menghilangkan kebutuhan untuk agen tambahan atau perangkat lunak pada host yang dikelola.
Prerequisite
- Linux Server
- Installed Ansible
Langkah – Langkah
Pastikan telah membuat inventori dan hosts target nya bisa di akses dengan menggunakan ansible, anda dapat menggunakan command ansible -i /etc/ansible/hosts (group hosts) -m ping
untuk me-debug apakah ansible nya dapat mengakses hosts target atau tidak.
Jika outputnya seperti diatas, berarti kita sudah bisa melanjutkan ke tahap selanjutnya untuk membuat playbook. Pertama-tama buatlah folder untuk menyimpan file playbook di path ansible kalian. Di sini kita akan membuat playbooknya di /etc/ansible/playbooks
dengan menggunakan perintah mkdir /etc/ansible/playbooks
untuk membuat folder playbook kita.
Lalu kita masuk ke direktori nya dan membuat file playbook dengan extension .yml
menggunakan perintah nano/vi nama_playbook.yml
dengan isi filenya seperti berikut :
Disini kita memerintahkan ansible untuk menginstall package, yang nama package nya berasal dari variable package_name
yang akan kita isi saat menjalankan ansible-playbook nya nanti.
Sebelum kita menjalankan playbook nya, berikut adalah beberapa penjelasan dari parameter yang ada di playbook_install_package.yml
kita.
- Name : berfungsi untuk menentukan nilai yang akan diterapkan pada tindakan atau tugas dalam playbook Ansible.
- Hosts : mendefinisikan target sistem atau host yang akan diterapkan oleh playbook Ansible. Nilai dari parameter ini dapat berupa alamat IP, nama host, atau grup host dalam inventori Ansible. Ini memungkinkan pengguna untuk menentukan target yang spesifik dan menjalankan tugas pada host yang diinginkan.
- Become : mendefinisikan jika tugas dalam playbook Ansible harus dijalankan sebagai superuser atau user privileged lainnya. Parameter ini memungkinkan pengguna untuk menjalankan tugas yang membutuhkan akses privileged, seperti menginstal paket atau mengubah konfigurasi sistem. Nilai dari parameter ini dapat berupa
yes
atautrue
untuk mengaktifkan mode privileged, atauno
ataufalse
untuk menonaktifkannya. - Task : mendefinisikan tugas yang akan dijalankan pada sistem target oleh playbook Ansible. Setiap tugas menggunakan modul Ansible yang sesuai untuk menjalankan tindakan tertentu, seperti menginstal paket, mengubah konfigurasi berkas, atau menjalankan perintah shell
- Vars : mendefinisikan variabel yang akan digunakan dalam playbook Ansible. Parameter ini memungkinkan pengguna untuk memasukkan nilai-nilai yang dapat dipanggil kembali dalam tugas dan membuat playbook lebih fleksibel dan reusable.
- Package : berfungsi mendefinisikan paket atau aplikasi yang harus diinstal pada target sistem oleh playbook Ansible.
- State : mendefinisikan status yang diinginkan untuk suatu objek pada sistem target oleh playbook Ansible. Nilai dari parameter ini biasanya berupa
present
,absent
,installed
,uninstalled
,enabled
, ataudisabled
. Ini memungkinkan pengguna untuk menentukan apakah objek harus ada atau tidak, terinstal atau tidak terinstal, atau diaktifkan atau dinonaktifkan pada sistem target. Tugas ini biasanya digunakan dalam playbook Ansible untuk mengelola paket, berkas, dan konfigurasi sistem.
Setelah kita sudah mengetahui bisa langsung menjalankan playbook untuk menginstall telnet nya dengan perintah ansible-playbook -i /etc/ansible/hosts --extra-vars "package_name=telnet" playbook_install_package.yml
Tunggu hingga proses selesai, jika outputnya seperti di bawah maka telnet telah berhasil terinstall di host targetnya