Ketika mengelola lebih dari satu server, mungkin kamu akan menggunakan perintah yang sama untuk server berbeda. Hal ini bisa menjadi kendala jika kamu perlu menulis ulang perintah tanpa menggunakan provisioning tool. Salah satu provisioning tool yang bisa kamu gunakan adalah Ansible. Yuk, pelajari cara install dan konfigurasi Ansible di Ubuntu 20.04 di artikel ini.

Apa Itu Ansible?

Ansible adalah provisioning tool bersifat open source yang dikembangkan oleh Red Hat. Tool ini menjadi salah satu alat termudah untuk melakukan automation (otomatisasi) pada server.

Keberadaan arsitektur yang tidak memerlukan software khusus untuk diinstal pada server/node membuat Ansible bisa kamu gunakan sebagai alternatif yang bagus untuk otomatisasi 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.

Cara Install dan Konfigurasi Ansible di Ubuntu 20.04

Sebelum memulai instalasi dan konfigurasi Ansible, ada beberapa hal yang perlu dipersiapkan:

  1. Memiliki 3 VPS yang aktif dengan OS Ubuntu 20.04.
  2. Memiliki akses root.

Tiga buah 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 otomatisasi.

Kemudian, berikut ini adalah langkah-langkah utama yang akan kita lakukan untuk meng-install dan mengonfigurasi Ansible di Ubuntu 20.04:

  • Update Server
  • Install Packages
  • Install Firewall
  • Add SSH Key
  • Install Ansible
  • Setting Inventory File
  • Testing Connection
  • Running Ad-Hoc Command

Simak penjelasannya di bawah ini.

Baca Juga: Menggunakan SSH Key PuTTY pada Server

Update Server

Login sebagai root dan update package yang ada pada server agar up-to-date.

$ apt-get update -y

$ apt-get upgrade -y

$ reboot

Install Packages

Install beberapa packages yang dibutuhkan.

$ apt-get install nano perl wget -y

Install Firewall

Sebelum memulai instalasi dan konfigurasi Ansible di Ubuntu 20.04, kamu perlu perlu meng-install Firewall agar lebih aman.  Di tutorial kali ini kita akan menggunakan CSF (ConfigServer Security & Firewall). Instalasinya dilakukan dengan perintah di bawah ini:

$ cd /usr/src

$ wget https://download.configserver.com/csf.tgz

$ tar -xzf csf.tgz

$ cd csf/

$ sh install.sh

Di bagian konfigurasi CSF, ubah “TESTING=’1’ menjadi 0”.

$ nano /etc/csf/csf.conf

Muat ulang rules CSF-nya.

$ csf -r

Add SSH Key

Tambahkan Key SSH di control node untuk masing-masing host dengan cara sebegai berikut :

$cd /home

$ssh-keygen (Ulangi sampai ke server terakhir)

 
Cek SSH key nya :

$ls -l

 
Copy Isi File Server2.pub ke directory ~/.ssh/authorized_keys, dan lakukan hal yang sama untuk server-server yang lain


Tambahkan SSH Key di Control Node pada masing-masing Hosts.

$ ssh-copy-id -i server2 192.168.1.2

$ ssh-copy-id -i server3 192.168.1.3


ketikan yes untuk melanjutkan

Install Ansible

Install Ansible pada Control Node.

$sudo apt-add-repository ppa:ansible/ansible

$apt update

$ apt-get install ansible -y

Setting Inventory File

Inventory file ini akan berisi mengenai informasi Hosts yang akan di-manage oleh Ansible. Kamu bisa menambahkan banyak server di inventori ini dan bisa diatur berdasarkan group dan subgroup.

$ nano /etc/ansible/hosts

Tambahkan script di bawah ini.

[serversubuntu]

192.168.1.2 ansible_ssh_private_key_file=/home/server2 ansible_ssh_user=root ansible_port=22

192.168.1.3 ansible_ssh_private_key_file=/home/server3 ansible_ssh_user=root ansible_port=22

[all:vars]

ansible_python_interpreter=/usr/bin/python3


Lalu simpan dan keluar. Setelah itu cek inventori menggunakan perintah di bawah ini.

$ ansible-inventory --list -y

Maka output-nya akan seperti di bawah ini.


Testing Connection

Setelah melakukan setting pada Inventory File yang memasukan beberapa server sekaligus, sekarang waktunya untuk melakukan pengetesan untuk connect ke Hosts tersebut melalui perintah SSH.

$ ansible all -m ping -u root 

Maka output-nya akan seperti ini:


Arti dari “pong” adalah balasan dari Host, di mana kamu dapat menjalankan perintah Ansible.

Baca Juga: Pengertian dan Fungsi Perintah Ping CMD pada Windows

Running Ad-Hoc Command

Setelah dikonfirmasi bahwa kamu dapat menggunakan dan menjalankan perintah Ansible, Control Node dapat berkomunikasi langsung kepada Hosts. Contoh yang akan kami berikan adalah pengecekan Disk Usage pada server Hosts.

$ ansible all -a “df -h” -u root

Output-nya akan seperti di bawah ini.


Kemudian pengecekan uptime bisa dilakukan dengan perintah di bawah ini.

$ ansible serversubuntu -a “uptime” -u root

Output-nya: