Sunday, June 18, 2017

Mengenal Ansible Playbook

Pada kesempatan ini saya akan membahas kembali tentang ansible sebagai configuration management dan provisioning. Bedanya adalah bila pada kesempatan [sebelumnya] saya fokus pada tipe ansible ad-hoc maka kali ini saya akan membahas tentang ansible-playbook.

Ansible playbook ada product ansible untuk melakukan konfigurasi Adalah automation engine yang dijalankan untuk memudahkan untuk mengelola server yang berjumlah banyak serta mampu melakukan provisioning baik di cloud maupun hypervisor.

Ansible playbook dikonfigurasi dalam bentuk file yaml. Ansible playbook bekerja dengan cara satu mesin berperan sebagai management dan mesin lain yang ingin di remote berperan sebagai target. Pada mesin manajemen perlu diinstal tool ansible. Dan sangat perlu diperhatikan semua mesin baik manajemen dan target harus diinstall software python.

Pada ansible playbook ada beberapa komponen penting diantaranya:
- Configuration file -> file yang berisi setting-setting bagaimana tool ansible memanajemen target hostnya.
- Module -> Fungsi yang di panggil oleh task untuk melakukan fungsi tertentu.
- Inventory -> Berisi kumpulan host dan group dari target yang akan di remote

Baiklah mari kita ke praktiknya saja dimana target menggunakan sistem operasi Ubuntu dan dengan skenario menginstall software glusterfs.

Sebelumnya untuk menginstall glusterfs dibutuhkan langkah2 berikut:
- Install python properties
- Add gluster ppa repository
- Update package manager
- Install glusterfs software

Konfigurasi berada dalam 1 folder project:

project-01
   - ansible.cfg (configuration file)
   - hosts (inventory)
   - site.yml (playbook file)

Isi dari file ansible.cfg (file konfigurasi)
[defaults]
hostfile = hosts

Isi dari file hosts
[datatier]
192.168.56.111 ansible_user=root
192.168.56.112 ansible_user=root
192.168.56.113 ansible_user=root
192.168.56.114 ansible_user=root
192.168.56.115 ansible_user=root
192.168.56.116 ansible_user=root
192.168.56.117 ansible_user=root
192.168.56.118 ansible_user=root
192.168.56.119 ansible_user=root
192.168.56.120 ansible_user=root

Isi dari file site.yml (file)
---
hosts: datatier
  tasks:
- name: Install GFS File Server Depedencies
apt:
name: python-software-properties
state: latest
update_cache: yes
- name: Add repo ppa from glusterfs repository
apt_repository:
repo: 'ppa:gluster/glusterfs-3.7'
- name: Install GFS File Server
apt:
name: glusterfs-server
state: latest
update_cache: yes

Untuk menjalankannya dengan menginstruksikan terminal perintah berikut:
$ cd /home/user/project-01
$ ansible-playbook site.yml

Dengan begitu seluruh server yang tergabung dalam group name datatier sudah terinstall software glusterfs. :)


Referensi :
- http://docs.ansible.com/

No comments:

Post a Comment