Skip to main content

Apa itu Ansible?

Ansible adalah platform otomatisasi TI sumber terbuka (open-source IT automation engine) yang dikembangkan oleh Red Hat. Ansible digunakan untuk:
  • Manajemen Konfigurasi (Configuration Management): Mengatur setting OS, user, dan file config di ratusan server sekaligus secara konsisten.
  • Penyebaran Aplikasi (Application Deployment): Mengotomatisasi instalasi dependensi, kloning repositori Git, dan menjalankan layanan.
  • Orkestrasi Tugas (Task Orchestration): Menjalankan pembaruan sistem operasi (patching) terjadwal secara bertahap.

Mengapa Ansible Sangat Populer? (Konsep Agentless)

Alat automasi terdahulu (seperti Puppet atau Chef) mengharuskan kita menginstal aplikasi agen (agent software) di setiap server target sebelum bisa diatur. Ansible revolusioner karena bersifat Agentless:
  1. Tidak Butuh Agen Tambahan: Server target (managed nodes) tidak perlu diinstal software apapun selain Python dan layanan standar OpenSSH.
  2. Koneksi Lewat SSH: Komputer pengendali (Control Node) cukup terhubung ke server target melalui protokol SSH standar.
  3. Bahasa YAML Sederhana: Alur konfigurasi ditulis menggunakan bahasa YAML yang sangat mudah dibaca oleh manusia (human-readable).
  4. Idempoten (Idempotency): Jika sebuah tugas sudah selesai dilakukan di server, Ansible tidak akan mengulang pekerjaan tersebut jika dijalankan kembali (menghindari efek samping tak diinginkan).

Arsitektur Ansible

  • Control Node: Komputer tempat kamu menginstal Ansible dan menjalankan perintah. (Bisa laptop Linux/macOS atau server CI/CD).
  • Managed Nodes: Kumpulan server target yang dikendalikan oleh Ansible.
  • Inventory: Berkas daftar alamat IP atau hostname dari server-server target yang dikelompokkan ke dalam grup (grouping).
  • Modules: Unit kode kecil bawaan Ansible untuk melakukan tugas tertentu (misal: apt untuk install paket, copy untuk salin file, systemd untuk kelola service).

Instalasi Ansible di Control Node

Ansible hanya perlu diinstal di komputer pengendali:

Menyiapkan Berkas Inventaris (inventory.ini)

Buat berkas bernama hosts.ini untuk mendata server-server target:

Menguji Koneksi (Ad-Hoc Ping)

Jalankan perintah pengujian pertama untuk memastikan semua server dapat dijangkau:
Jika sukses, Ansible akan mengembalikan respons JSON berwarna hijau bertuliskan "ping": "pong".
Last modified on October 26, 2026