AWX instalación de ambiente PRD con Docker en Centos 7
Hola a todos!
En este artículo se verá cómo desplegar Ansible AWX el Open Source de Ansible Tower.
Requerimientos para Centos 7:
1. Actualizar el OS
yum update
2. Instalar el epel-realease
yum install epel-release -y
o
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
3. Instalar paquetes necesarios
yum install ansible git nodejs npm python-devel python-pip python-docker-py vim-enhanced yum-utils device-mapper-persistent-data lvm2 -y
yum groupinstall 'Development Tools' -y
pip install docker --upgrade
4. Configurar el docker-ce
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5. Instalar el docker-ce
yum install docker-ce -y
6. Iniciar y habilitar docker
systemctl start docker & systemctl enable docker
7. Clonar AWX
git clone https://github.com/ansible/awx.git
cd awx/
git clone https://github.com/ansible/awx-logos.git
pwd
8. Configurar inventario
cd installer/
vim inventory
#INVENTORY FILE
postgres_data_dir=/var/lib/pgdocker
awx_official=true
awx_alternate_dns_servers="4.2.2.1,4.2.2.2"
project_data_dir=/var/lib/awx/projects
Esto también se puede hacer con el comando sed:
cd installer/
sed -i 's#postgres_data_dir=.*#postgres_data_dir=/var/lib/pgdocker#g' inventory
sed -i 's#awx_official=.*#awx_official=true#g' inventory
sed -i 's#awx_alternate_dns_servers=.*#awx_alternate_dns_servers="8.8.8.8,8.8.4.4"#g' inventory
sed -i 's#project_data_dir=.*#project_data_dir=/var/lib/awx/projects#g' inventory
9. Verificar la configuración:
cat inventory |grep -v "#"
#INVENTORY FILE
dockerhub_base=ansible
dockerhub_version=latest
rabbitmq_version=3.6.14
awx_secret_key=awxsecret
postgres_data_dir=/var/lib/pgdocker
host_port=80
docker_compose_dir=/var/lib/awx
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
awx_official=true
awx_alternate_dns_servers="4.2.2.1,4.2.2.2"
project_data_dir=/var/lib/awx/projects
10. Desplegar AWX via docker, esto tomaré varios minutos, paciencia!
ansible-playbook -i inventory install.yml -vv
11. Una vez que termine el paso anterior, verificar si existen los dockers
docker container ls
12. Desactivar el firewall o habilitar los puertos que necesiten los dockers
systemctl stop firewalld
13. Ingresar a la URL http://localhost:80 con las credenciales admin/password
14. Aparecerá el panel de mando
Eso sería todo con la instalación.
Troubleshooting:
1. Carga de datos de prueba
En caso que se te presente esta imagen:
Es porque está cargando la data de prueba, que demora unos 10 minutos aproximadamente. Para evitar esto sólo se necesita cambiar este parámetro en el archivo "inventory"
create_preload_data=True
2. Verificar dockers
docker container ls
3. Verificar logs del docker
docker logs $NAME_ID
4. Ingresar el bash del docker
docker exec -it $NAME_ID /bin/bash
Hasta pronto!