Berkenalan Dengan AWX Ansible
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
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