Cara Install dan Konfigurasi Ansible di Ubuntu 20.04

Cara Install dan Konfigurasi Ansible di Ubuntu 20.04

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?

logo 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 “make TESTING=’1’ menjadi 0”.

$ nano /etc/csf/csf.conf

 

Muat ulang rules CSF-nya.

$ csf -r

 

Add SSH Key

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

$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]

 

Install Ansible

Install Ansible pada Control Node, di sini kami menggunakan default repositories dari Ubuntu 20.04.

$ 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.

[servers] 
server1 ansible_host=xxx.xxx.xxx..201 
server2 ansible_host=xxx.xxx.xxx.146  

[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.

all:
  children:
    servers:
      hosts:
        server1:
          ansible_host: xxx.xxx.xxx.201
          ansible_python_interpreter: /usr/bin/python3
        server2:
          ansible_host: xxx.xxx.xxx.146
          ansible_python_interpreter: /usr/bin/python3
    ungrouped: {}

 

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:

server1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
server2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

 

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.

server1 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
udev            474M     0  474M   0% /dev
tmpfs            99M  644K   98M   1% /run
/dev/vda1        20G  1.4G   18G   7% /
tmpfs           491M     0  491M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           491M     0  491M   0% /sys/fs/cgroup
/dev/vda15      105M  3.9M  101M   4% /boot/efi
tmpfs            99M     0   99M   0% /run/user/0

server1 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        472M     0  472M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M   57M  440M  12% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        20G  2.7G   18G  14% /
tmpfs           100M     0  100M   0% /run/user/0

 

Kemudian pengecekan uptime bisa dilakukan dengan perintah di bawah ini.

$ ansible servers -a “uptime” -u root

 

Output-nya:

server1 | CHANGED | rc=0 >>
 03:00:57 up  7:09,  2 users,  load average: 0.00, 0.00, 0.00

server2 | CHANGED | rc=0 >>
 03:01:14 up 4 days, 18:44,  1 user,  load average: 0.08, 0.05, 0.06

Baca Juga: KernelCare Mengatasi Meltdown dan Spectre Tanpa Reboot Server

Simpulan

Jika dijalankan dengan tepat, seharusnya saat ini kamu sudah berhasil meng-install dan melakukan konfigurasi Ansible di server Ubuntu 20.04. Otomatisasi Ansible ini bisa kamu manfaatkan unuk menginstal atau mengonfigurasi Control Node agar dapat diterapkan secara otomatis ke Hosts tanpa repot melakukan instalasi dan konfigurasi manual di setiap server.

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 install dan konfigurasi Ansible di Ubuntu 20.04 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu.