Ansible Introduction and Installation

Ansible Introduction and Installation

Hai hai gaes pada kesempatan kali kita akan coba untuk mengoprek2 lagi salah satu software open source yang paling populer di kalangan DevOps/SRE yaitu Ansible.

Software tools that enables infrastructure as code, it is open source project sponsored by Red Hat, it's the simplest way to automate IT.

Ada beberapa kenapa Ansible banyak dipakai dan populer yaitu

  • implementasi yang mudah tidak perlu install agent disetiap server

  • Dokumentasi rapih (Ansible Documentation)

  • mendukung bash script

  • cross platform OS

  • bahasa YAML

Install Ansible

Ansible memerlukan python3, maka pastikan python3 sudah terinstall di OS. Di sini saya menggunakan WSL Windows untuk menginstall ansible.

$ python3 --version

selanjutnya install pip, check apakah pip sudah terinstall

$ python3 -m pip -v
pip 21.0.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)

jika ada error no module named pip install lakukan ini

$ sudo apt install python3-pip

next install ansible

$ python3 -m pip install --user ansible

check

$ ansible --version
ansible [core 2.14.1]
  config file = None
  configured module search path = ['/home/sdb/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/sdb/.local/lib/python3.10/site-packages/ansible
  ansible collection location = /home/sdb/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/sdb/.local/bin/ansible
  python version = 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True

sukses ansible sudah terinstall.

untuk menjalankan ansible command yang di lakukan seperti ini:

$ ansible [group_inventory] -i inventory --become -m [ansible_module] -a  "[arguments]"

* group_inventory : di dalam file inventory nanti akan di buat nama group inventory yang berisikan seperti IP dari server yang akan di konfigurasi

*--become : Privilege Escalation

*-m : module ansible yang dapat di lihat di Ansible Module . Contoh kita menggunakan module ansible.builtin.shell yang berguna untuk execute shell command.

*-a : di sini arguments tambahan dari module. contoh -a "cmd='apt update'"