Pada tulisan ini Eduidea akan menjelaskan step-by-step cara instalasi Ansible AWX di Centos 8 Stream.
AWX adalah singkatan dari “Ansible Web eXecutable”, merupakan proyek free and open-source yang memungkinkan Anda untuk mengelola dan mengontrol proyek Ansible dengan mudah. AWX menyediakan user interface berbasis web, juga REST API yang memungkinkan Anda untuk mengelola atau menyinkronkan inventaris dengan sumber cloud lainnya, mengontrol akses, dan mengintegrasikan dengan LDAP.
Prasyarat
- Server CentOS 8 dengan minimal RAM 4 GB, 2 vcpu, 20 GB disk.
- Masuk sebagai root atau user dengan hak sudo
Sebelum Mulai
Tambahkan EPEL repository di sistem dengan perintah berikut:
dnf install epel-release -y
Selanjutnya, Anda perlu install beberapa paket tambahan yang diperlukan untuk menjalankan AWX di sistem. Anda dapat install semuanya dengan perintah berikut:
dnf install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y
Setelah semua paket diinstal, Anda dapat melanjutkan ke langkah berikutnya.
Install Docker dan Docker Compose
Selanjutnya, kita perlu install Docker untuk menjalankan AWX di dalam container Docker. Secara default, versi terbaru Docker tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu menambahkan repositori Docker di sistem Anda. Anda dapat menambahkan repositori Docker dengan perintah berikut:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Setelah ditambahkan, instal versi stabil terbaru Docker dengan perintah berikut:
dnf install docker-ce -y
Setelah Docker diinstal, periksa versi Docker yang terinstal dengan perintah berikut:
docker --version
Selanjutnya, mulai layanan Docker dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start docker
systemctl enable docker
Anda dapat memverifikasi status layanan Docker dengan perintah berikut:
systemctl status docker
Selanjutnya lakukan instalasi add-on berikut supaya pada saay deployment docker compose nanti tidak terjadi error
pip3 install setuptools-rust
pip3 install --upgrade pip
pip3 install cryptography
Kemudian, instal Docker compose menggunakan perintah berikut:
pip3 install docker-compose
Setelah diinstal, verifikasi versi Docker compose menggunakan perintah berikut:
docker-compose --version
Akhirnya, jalankan perintah berikut untuk mengatur perintah python untuk menggunakan python 3:
alternatives --set python /usr/bin/python3
Installasi Ansible AWX
Download the AWX package archive
wget https://github.com/ansible/awx/archive/17.1.0.zip
Unzip the AWX package archive
pip3 install unzip
unzip 17.1.0.zip
cd awx-17.1.0/installer/
Generate key untuk nanti disimpan di file config ansible
openssl rand -base64 30
nYqbRlg9xWOnktAhFElgR+aB8N5LttVZji7LLWyS
: simpan key ini di tempat terpisah
Lakukan perubahan konfigurasi inventory ansible
cd awx/installer/
nano inventory
Rubah baris berikut:
[all:vars]
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=”/var/lib/pgdocker”
host_port=80
host_port_ssl=443
docker_compose_dir=”~/.awx/awxcompose”
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
pg_admin_password=password
rabbitmq_password=awxpass
rabbitmq_erlang_cookie=cookiemonster
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=nYqbRlg9xWOnktAhFElgR+aB8N5LttVZji7LLWyS : copy dari hasil generate key sebelumnya
awx_official=true
awx_alternate_dns_servers=”8.8.8.8,8.8.4.4″
project_data_dir=/var/lib/awx/projects
Simpan dan tutup file setelah Anda selesai. Kemudian, buat direktori untuk Postgres:
mkdir /var/lib/pgdocker
Terakhir, jalankan perintah berikut untuk install AWX, tunggu sampai selesai dan pastikan tidak ada error:
ansible-playbook -i inventory install.yml
Perintah di atas akan membuat dan memulai semua container Docker yang diperlukan untuk AWX. Anda dapat memverifikasi container yang berjalan dengan perintah berikut:
docker ps
Instalasi selesai, kemudian akses IP server melalui web browser maka akan muncul tampilan seperti berikut:
