Ansible adalah perisian sumber terbuka untuk menyediakan & menguruskan konfigurasi server. Sudah agak lama saya hendak mencubanya setelah mengikuti beberapa sesi tutorial & membeli buku Ansible for DevOps.

Sebelum menggunakan Ansible, perlu tahu beberapa perkara terlebih dahulu:

  1. Ansible boleh digunakan untuk mengurus server & infrastruktur teknologi maklumat. Jika anda mempunyai lebih dari satu server untuk diuruskan maka boleh membuat pertimbangan untuk menggunakan ansible.
  2. Ansible menggunakan ssh (secure shell) untuk ‘berkomunikasi’ dengan server. Jadi perlu hasilkan kekunci ssh terlebih dahulu dan salinkan kekunci yang berkaitan ke server supaya tidak perlu lagi gunakan kata laluan.
  3. Ansible mempunyai beberapa modul untuk melakukan arahan atau platform tertentu (Ubuntu, Redhat, dll).
  4. Ansible Playbook adalah sekumpulan arahan (lebih dari satu) yang boleh dijalankan di atas server. Playbok boleh dihasilkan dalam format yml

Contoh Penggunaan

  1. Sediakan fail yang mengandungi maklumat server. Format dibawah ini adalah ip:ssh_port

inventori

[webserver]
1.2.3.4:2022
4.5.6.7:2022

  1. Guna ansible
$ansible -i inventori -m ping webserver 

1.2.3.4 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
4.5.6.7 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

$ansible -i inventori -a uptime all 

1.2.3.4 | CHANGED | rc=0 >>
 3:16AM  up 34 days,  3:44, 2 users, load averages: 0.03, 0.04, 0.00
4.5.6.7 | CHANGED | rc=0 >>
12:16PM  up 45 days, 14:37, 2 users, load averages: 0.00, 0.00, 0.00

Kalau berminat untuk belajar dengan lebih lanjut, saya sarankan ikuti siri tutorial Ansible 101 oleh _Jeff Geerling_Ansible 101. Beliau adalah penulis buku Ansible for Devops.

eof