Ansible | Instalación y Configuración de AWX utilizando Docker

Gerardo Ocampos
3 min readJul 19, 2022

--

Tutorial de instalación y configuración inicial de instancia AWX, la versión upstream de Red Hat Ansible Tower

El proyecto AWX (AWX para abreviar) es un proyecto comunitario de código abierto, patrocinado por Red Hat, que permite a los usuarios controlar mejor el uso del proyecto Ansible de su comunidad en entornos de TI. AWX es el proyecto upstream del que se deriva en última instancia el componente del controlador de automatización.

Entorno

Servidor: Linux
Sistema Operativo: Rocky Linux 8
AWX: Version 17.0.1
Docker: docker-ce 20.0.1

1. Configuración del Proyecto desde el Repositorio Oficial del Github

Para instalar la solucion de AWX es necesario clonar el repositorio oficial desde el Github. Identificar el proyecto mediante el tag y especificar la versión durante el proceso de clonación.

Todos los comandos lo ejecutamos con el usuario administrador root

Es necesario instalar las siguientes dependencias en el servidor antes de iniciar el proceso de instalación

En la línea de comando instalamos las siguientes dependencias:

yum install -y epel-releaseyum install -y git gcc gcc-c++ nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip yum-utils ansible python3 libselinux-python3 python3-docker

Adicionalmente, instalaremos el complemento de docker y docker-compose

yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repoyum install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginsystemctl enable --now docker
docker --version
pip3 install docker-compose==1.23.2

Una vez finalizado la instalación de las dependencias, procedemos a crear el directorio de trabajo y descargar el repositorio oficial

cd /opt
git clone -b 17.0.1 https://github.com/ansible/awx.git

La instalación se realizara en el directorio /opt y se utilizara la versión 17.0.1

2. Configuraciones de variables para personalizar instalación

Todas las configuraciones opcionales para personalizar AWX se encuentran en el fichero inventory

En nuestra instalación, el fichero mencionado se encuentra en el siguiente directorio

ls /opt/awx/installer/inventory

Pude mantener las configuraciones por defecto en el fichero mencionado y sobrescribir algunos valores con un fichero extra que utilizaremos como variables para nuestra personalización

Por ejemplo, en el directorio /opt/awx/installer cree el ficher vars.yml

vim /opt/awx/installer/vars.yml

Y agregamos las siguientes configuraciones, donde admin_password es la contraseña del administrador del portal AWX

admin_password: 'adminpass'
pg_password: 'pgpass'

3. Instalación

Ingresar dentro del directorio /opt/awx/installer

cd /opt/awx/installer

Lanzar el siguiente playbook indicando como parámetro extra, nuestro fichero de valores vars.yml

ansible-playbook -i inventory install.yml -e @vars.yml

En el caso de utilizar los valores por defecto de instalación, no es necesario indicar el parámetro -e @vars.yml

4. Acceder a la consola Ansible AWX

Una vez finalizado la instalación, como resultado, podemos observar los contenedores en ejecución

docker ps

Podemos administrar estos contenedores con los comandos básicos de docker u docker-compose

Ingresamos al portal de AWX desde el navegador, por defecto el puerto 80

Utilizamos la credencial configurada en la variable admin_password como contraseña y como usuario por defecto admin

http://IP-SERVER:80
AWX Login. v17.0.1
AWX Main. v17.0.1

--

--

Gerardo Ocampos

Red Hat Certified Engineer — Red Hat Certified System Administrator — Red Hat Certified Specialist in Containers and Kubernetes. Asunción, Paraguay