Linux

How to deploy Ansible AWX on centos 8

Ansible AWX

In Today’s tutorial, we will be installing ansible Awx (Ansible web executable). This is an open-source project that allows you to manage and control your ansible project easily from a web interface with a task engine that is built on ansible. We will be installing AWX on centos 8 servers with 4GB RAM with Epel repository installed. Kindly check out some of my other guides: Openstack Deployment with Devstack, Deploying a load balancer from scratch and adding backend servers, how to monitor services using Zabbix, and how to set-up PowerShell on a Linux server. LET’S GET STARTED.

First let’s Disable SELINUX
/etc/sysconfig/selinux
SELINUX=disabled
Next install the epel repository
dnf install epel-release -y
deploy

Now we will install some dependent packages

dnf install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y
CentOS 8

Next we will install docker, so we can run AWX in a container. We have to add the docker repository to the system using the below command

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
installation

Install Docker and verify docker version

dnf install docker-ce -y
automation

Then start and enable docker to load at start up

systemctl start docker
systemctl enable docker

 

configuration management

Now that we have our docker running, lets install AWX. We have to download the latest version from git hub using the following command below

git clone https://github.com/ansible/awx.git
image-124

The next step is very important as we must follow the instructions on how to deploy Ansible AWX on CentOS 8. Additionally, we need to generate a secret key to encrypt the inventory file using the below command. Save this key, as it will be needed.

cd awx/installer
openssl rand -base64 30
wnwsaB7Z1KbNWTFuedc8LF9+XFpOIHCA38QwqSto
image-125

Next cd into the installer directory, vim and edit the file with the following parameters

[all:vars]
dockerhub_base=ansible
awx_task_hostname=awx
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=wnwsaB7Z1KbNWTFuedc8LF9+XFpOIHCA38QwqSto
awx_official=true
awx_alternate_dns_servers="8.8.8.8,8.8.4.4"
project_data_dir=/var/lib/awx/projects

Create the postgres directory

mkdir /var/lib/pgdocker

How to deploy Ansible AWX on centos 8

To begin with, let’s explore how to deploy Ansible AWX on CentOS 8. Once this is done, run the command to install AWX in the installer directory

ansible-playbook -i inventory install.yml
image-126

Once your docker has been installed and all the required dockers started. We have to verify the status using the following command

docker ps
image-127

Now that installation is completed and dockers verified, let’s move on to the next step: How to deploy Ansible AWX on CentOS 8. After that, we can proceed to add the HTTPS service to the firewall.

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd –reload

 

image-128

Now try to access the dashboard using your server IP.

image-129

Now, we have successfully followed the steps on how to deploy Ansible AWX on CentOS 8, and we have deployed an Ansible tower instance. We can now use this instance to effectively manage and schedule jobs on our remote nodes using SSH credentials or SSH keys.

Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Pedro
Pedro
1 year ago

fyi, preferred way is to install it on k8s nowadays.

Oren
Oren
1 year ago
cd awx/installer

couldnt find such directory

2
0
Would love your thoughts, please comment.x
()
x