Ansible | Instalación y Configuración de AWX utilizando Docker
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 --versionpip3 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ón17.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
udocker-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