Automation dengan Ansible

🤖🔧 Bab 25 – SOP Automation dengan Ansible di Ubuntu Server

Bab ini akan membuat dokumentasi kamu semakin hemat waktu dan konsisten, karena dengan Ansible, konfigurasi server bisa dilakukan otomatis lewat playbook tanpa harus manual satu per satu.

🎯 Tujuan

  • Menginstal dan mengonfigurasi Ansible.
  • Membuat playbook untuk otomatisasi konfigurasi server.
  • Menjalankan deployment otomatis ke banyak server sekaligus.

🔧 Lingkup

  • Sistem operasi: Ubuntu Server
  • Tools: Ansible (agentless automation)
  • Target: konfigurasi web server, database, firewall, dan update sistem

3. Langkah Kerja

📦 3.1 Instalasi Ansible

  1. Update sistem:
    sudo apt update
              
  2. Install Ansible:
    sudo apt install ansible -y
              
  3. Cek versi:
    ansible --version
              

📋 3.2 Konfigurasi Inventory

Inventory berisi daftar server yang akan dikontrol.

Edit file /etc/ansible/hosts:

[webservers]
192.168.1.101
192.168.1.102

[dbservers]
192.168.1.201

📡 3.3 Uji Koneksi ke Server

Gunakan SSH key (Bab 13).

Tes koneksi:

ansible all -m ping
      

→ Jika sukses, akan muncul pong.

📝 3.4 Membuat Playbook

Contoh playbook untuk install Apache (web.yml):

- hosts: webservers
  become: yes
  tasks:
    - name: Install Apache
      apt:
        name: apache2
        state: present
    - name: Start Apache
      service:
        name: apache2
        state: started

Jalankan playbook:

ansible-playbook web.yml
      

🗄️ 3.5 Playbook Database

Contoh playbook untuk install MySQL (db.yml):

- hosts: dbservers
  become: yes
  tasks:
    - name: Install MySQL
      apt:
        name: mysql-server
        state: present
    - name: Start MySQL
      service:
        name: mysql
        state: started

🔄 3.6 Automasi Update Sistem

Playbook update (update.yml):

- hosts: all
  become: yes
  tasks:
    - name: Update paket
      apt:
        update_cache: yes
        upgrade: dist

4. Command Ringkas

Fungsi Command
Install Ansible sudo apt install ansible -y
Edit inventory sudo nano /etc/ansible/hosts
Tes koneksi ansible all -m ping
Jalankan playbook ansible-playbook nama.yml

5. Catatan Penting

  • 🤖
    Ansible agentless → tidak perlu install software di server target, cukup SSH.
  • 📝
    Gunakan playbook untuk konfigurasi berulang agar konsisten.
  • 📁
    Simpan playbook di Git (Bab 15) agar bisa versioning.
  • 👥
    Cocok untuk mengelola banyak server sekaligus.
👉 Dengan bab ini, kamu sudah bisa mengotomatisasi konfigurasi server dengan Ansible, sehingga pekerjaan lebih cepat, konsisten, dan minim error.

Komentar

Postingan populer dari blog ini

Logging & Observability Modern (ELK Stack)

Docker & Container