Berkenalan Dengan AWX Ansible

Febry Rizky Wardani
3 min readMay 10, 2020

--

Halo saya ingin bercerita tentang salah satu Automation menggunakan Ansible Awx

Apa sih itu Ansible Awx ? ‘’ AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is the upstream project for Tower, a commercial derivative of AWX. ‘’ mungkin kalao diartikan dalam bahasa indonesia sebuah provides user interface dalam menggunakan Task yang ada di ansible. untuk lebih jelasnya bisa diliat di githubnya -> https://github.com/ansible/awx

Kemudian Saya masuk ke salah satu perusahaan Startup Di Jakarta mereka menggunakan Ansible Awx Untuk melakukan installasi server seperti apache, nginx, tomcat, consul dan beberapa task yang lainnya dan juga ternyata script ansible yang kita buat bisa taruh di Github

Berikut tampilan Awx Ansible saat diakses

Berikut Tampilan Dashboard Ansible awx

images from : https://res.cloudinary.com/diqqalzsx/image/upload/v1576807630/content/uploads/Ansible-Tower-dashboard-looks-relatively-identical-to-Ansible-Tower_dta04v.pngs

Salah satunya script buat installasi consul agent ada di github saya -> https://github.com/peppiii/ansible-automation/tree/master/infra/consul

---

- hosts: "{{ hosts | default('jumpbox') }}"
gather_facts: yes
vars:
consul_version: 1.6.2
tasks:
- name: test connectionnn
ping:

- name: install unzip
apt: name=unzip update_cache=yes state=latest

- name: create opt client for consul
file:
path: /etc/consul.d/client/
state: directory
become: yes

- name: move file consul client
template:
src: consul_client.j2
dest: /etc/consul.d/client/config.json
become: yes

- name: create data dir client consul
file:
path: /var/consul
state: directory
become: yes

- name: download consul
get_url:
url: https://releases.hashicorp.com/consul/{{ consul_version }}/consul_{{ consul_version }}_linux_amd64.zip
dest: /tmp
become: yes

- name: unarchive consul
unarchive:
remote_src: yes
src: /tmp/consul_{{ consul_version }}_linux_amd64.zip
dest: /usr/local/bin/
become: yes

- name: install unit file to systemd
template:
src: consul_client_service.j2
dest: /etc/systemd/system/consul-client.service
become: yes

- name: configure systemd to use service
systemd:
daemon_reload: yes
enabled: yes
state: started
name: consul-client.service
become: yes

Biasanya saya langsung masuk ke server lalu execute syntax ansible tersebut, berhubung sudah ada GUI nya langsung aja kita bikin template buat executenya seperti berikut

klik dulu template pada menu di awx

nanti akan muncul 2 pilihan job template dan workflow template

job template : Task Ansible yang akan kita buat dalam mengexecute Ansible

Workflow : Job Template yang sudah kita buat kita jadikan Workflow dalam Ansible

langsung saja kita bikin job templatenya

Name: Install Consul Client

Description : installation consul client

Job Type: Run

Inventory: [Production] RND

Project : Project Infrastructure

Credentials : ssh yang kita daftarkan di awx, ada di menu Credentials bisa pake username, password ataupun private key

Setelah kita mengimput template yang akan kita gunakan, tinggal di klik save lalu di launch aja nanti akan muncul seperti dibawah ini :

setelah kalian execute tersebut nanti akan masuk ke halaman baru, untuk melihat hasil execute yang telah kita buat seperti dibawah ini

oiyaa awx ini juga bisa terhubung ke Slack, jadi saat kita executenya failed ataupun successfull nanti akan di kirimin ke slack

bayangkan jika kita execute 1 per 1 akan butuh waktu lama, dengan adanya awx ansible memudahkan kita untuk membuat automation.

Maaf jika masih ada kata” yang berantakan dalam penulisan, dan juga saya tidak menjelaskan keseluruhan feature apa aja yang ada di awx tersebut.

Jika ada yang ingin berdiskusi silahkan aja ya

Special Thank You for Nizar Lazuardy sudah mengajari saya tentang awx ini

Thank You

--

--

Febry Rizky Wardani
Febry Rizky Wardani

Written by Febry Rizky Wardani

Experienced Software Engineer and Devops Engginer with a demonstrated history of working in the information technology and services industry.

No responses yet