Cara Eksekusi Ansible Playbooks untuk Automate Server Setup

Saat ini, automation (otomasi) diperlukan untuk memudahkan pekerjaan manusia, dalam segi server pun kini sudah ada Ansible Playbooks. Playbooks digunakan untuk melakukan otomasi konfigurasi server yang berada di Ansible Hosts. Di artikel ini, kamu akan mempelajari cara eksekusi Ansible Playbooks untuk Automate Server Setup.

Apa Itu Ansible?

logo ansible

Ansible adalah tool manajemen konfigurasi yang modern dan tidak memerlukan software agent pada Remote Nodes atau Hosts Node. Namun, kamu hanya perlu menggunakan SSH dan Python saja untuk berkomunikasi dan mengeksekusi perintah pada Hosts Node. Provisioning tool ini dikembangkan oleh salah satu perusahaan yang terkenal membuat software open sourceRedHat.

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

Alamat IP yang digunakan di artikel ini diubah menjadi “xxx” untuk memberikan sensor, kamu bisa menggunakan alamat IP dari server yang kamu miliki.

Baca Juga: Cara Setup Ansible Inventory

Cara Eksekusi Ansible Playbooks untuk Automate Server Setup

Ada beberapa hal yang perlu disiapkan:

  1. Memiliki 3 VPS yang aktif dengan OS Ubuntu 20.04.
  2. Memiliki akses root.
  3. 1 VPS yang sudah terinstall Ansible.
  4. Inventory File yang sudah disetup pada Ansible Control Node.

3 VPS yang perlu disiapkan untuk:

  • 1 Ansible Control Node: Ansible Control Node yang akan digunakan untuk connect dan control ke Ansible Host melalui SSH.
  • 2 Ansible Hosts: Ansible Host nantinya akan di kontrol oleh Ansible Control Node yang sudah dikonfigurasi untuk automasi. 

Jika semua sudah siap, simak beberapa langkah utama yang akan kita lakukan di bawah ini.

  • Create Test Playbook
  • Execute Playbook
  • Testing

Berikut ini adalah penjelasan dari langkah utama di atas.

Create Test Playbook

Test Playbook akan diperlukan oleh Ansible Playbook. Oleh karena itu kamu perlu melakukan setup testing playbook yang akan di install Nginx lalu set index.html pada Hosts Node

$ cd ~/ansible
$ nano playbook.yml

 

Tambahkan script di bawah ini pada file playbook.yml:

---
- hosts: all
  become: true
  tasks:
    - name: Install Packages
      apt: name={{ item }} update_cache=yes state=latest
      loop: [ 'nginx', 'vim' ]
      tags: [ 'setup' ]

    - name: Copy index page
      copy:
        src: index.html
        dest: /var/www/html/index.html
        owner: www-data
        group: www-data
        mode: '0644'
      tags: [ 'update', 'sync' ]

 

Lalu simpan dan keluar. Script di atas menentukan dua buah task; pertama untuk menginstal system package yang dibutuhkan dan kedua untuk menyalin index.html file ke Hosts Node lalu disimpan di document root default Nginx /var/www/html.

 

Kemudian buat file index.html di direktori yang sama, yaitu di dalam ~/ansible/.

$ nano index.html

 

Tambahkan script di bawah ini pada index.html

<html>
    <head>
        <title>Testing Ansible Playbooks</title>
    </head>
    <body>
        <h1>Testing Ansible Playbooks</h1>
        <p>This server was set up using an Nginx playbook.</p>
    </body>
</html>

 

Execute Playbook

Setelah itu, eksekusi playbooks yang sudah dibuat sebelumnya. 

$ ansible-playbook -i inventory playbook.yml 

 

Output-nya akan seperti di bawah ini.

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [xxx.xxx.xxx.201]


TASK [Install Packages] ********************************************************
changed: [xxx.xxx.xxx.201] => (item=nginx)
ok: [xxx.xxx.xxx.201] => (item=vim)


TASK [Copy index page] *********************************************************
changed: [xxx.xxx.xxx.201]

PLAY RECAP *********************************************************************
xxx.xxx.xxx.201            : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

 

Testing

Kemudian, cek hasil eksekusi Ansible Playbooks dengan mengakses alamat IP server atau hostname server yang sudah kamu atur sebagai inventory. Jika berhasil, maka tampilan automate server setup-nya akan terlihat seperti gambar berikut.

testing ansible playbooks succeed

Baca Juga: Cara Install SSL OpenLiteSpeed di Ubuntu 18.04

Simpulan

Jika kamu mengikuti instruksi di atas dengan tepat, maka seharusnya tak ada masalah berarti dan kamu telah berhasil melakukan eksekusi Ansible Playbooks untuk automate server setup.

Playbooks merupakan salah satu bagian dari Ansible inventory yang berguna untuk melakukan otomasi konfigurasi server dalam Ansible Hosts. 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 menulis, membuat, dan menjalankan Ansible Playbooks ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu.