AWX es un proyecto comunitario de código abierto patrocinado por Red Hat. Sirve como entorno de desarrollo para Ansible Tower. AWX tendrá lanzamientos frecuentes y todos los desarrollos nuevos.
Ansible AWX proporciona una interfaz de usuario basada en web para administrar hosts Ansible, guías, módulos, programación de trabajos, automatización del flujo de trabajo, uso compartido de credenciales y herramientas para permitir la delegación.
En este tutorial, repasaremos el instalación proceso de Ansible AWX sobre Ubuntu 20.04.
Prerrequisitos
- acceso root, o usuario con sudo privilegios para la conexión SSH.
- Ubuntu 20.04 o 18.04
- Mínimo 4 GB de RAM
- Mínimo 2vcpus
- Mínimo 20 GB espacio de almacenamiento gratuito
Para que Ansible AWX funcione correctamente, también deberá tener instalado:
- Ansible
- Docker y Docker componen
- Nodo y NPM
1. Instale Ansible en Ubuntu 20.04
Primer sistema de actualización
$ sudo apt update
Para instalar Ansible, escriba:
$ sudo apt install ansible -y
Para verificar la versión de Ansible instalado, ejecute el comando:
$ ansible --version
Producción:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/linoxide/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
El archivo de configuración principal se almacena en / etc / ansible / hosts Archivo.
2. Instale Docker y Docker Compose
Para una instalación y configuración exitosa de Docker, consulte Cómo instalar Docker en Ubuntu 20.04
Después de la instalación de Docker, verifique la versión:
$ docker version
Producción:
Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:47:17 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:45:28 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Para la instalación de Docker Compose, consulte Cómo instalar Docker Compose en Ubuntu 20.04.
Después de la instalación de Docker Compose, verifique la versión:
$ docker-compose version
Producción:
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
3. Instale Node y NPM
A continuación, instale Node.js
$ sudo apt install -y nodejs npm
y también instalar NPM
$ sudo npm install npm --global
4. Instale Ansible AWX en Ubuntu 20.04
Una vez que hayamos pasado por las instalaciones anteriores, es hora de instalar Ansible AWX.
Instalar en pc docker-python módulo con el siguiente comando:
$ sudo apt install python3-pip git pwgen vim
Instalar en pc solicitud que permite enviar solicitudes HTTP / 1.1:
$ sudo pip3 install requests==2.22.0
Además, necesitaremos un módulo docker-compose para python, que coincida con su versión instalada de Docker Compose.
$ docker-compose version
Producción:
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Verifique la versión de docker-compose (mi es 1.29.2) e instale los módulos con el siguiente comando.
$ sudo pip3 install docker-compose==1.29.2
Después de instalar pi-modules, vamos a descargar el último archivo zip AWX de GitHub con el siguiente comando.
$ wget https://github.com/ansible/awx/archive/17.1.0.zip
Descomprima el directorio descargado:
$ unzip 17.1.0.zip
Y cambia el directorio a awx-17.1.0 / installer /
$ cd awx-17.1.0/installer/
Genere una clave secreta o genere una contraseña aleatoria para AWX con el siguiente comando:
$ pwgen -N 1 -s 30
Producción:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
A continuación, busque un inventario archivo y ábralo con el editor favorito:
$ sudo nano inventory
Trate de mantener las siguientes configuraciones:
NOTA: reemplace llave secreta con el que acabamos de generar:
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
host_port_ssl=443
docker_compose_dir=/tmp/awxcompose
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Después de hacer coincidir esta configuración con la suya, es hora de ejecutar el libro de jugadas con el siguiente comando:
$ ansible-playbook -i inventory install.yml
install.yml – es el nombre del archivo del libro de jugadas
-I le dice a ansible que use el archivo de inventario
Salida de instalación:
Verifique que todo vaya bien, sin tareas fallidas.
Después de la instalación de ansible-playbook, verifique los contenedores de la ventana acoplable para obtener una lista de los contenedores en ejecución:
$ docker ps
Producción:

Como puede ver, un script ansible crea e inicia 4 contenedores acoplables:
- awx_task
- awx_web
- awx_redis
- awx_postgres
Para nosotros es lo mas importante awx_web que se está ejecutando en el puerto 80.
Puede acceder a la interfaz de usuario web de Ansible AWX a través de hostip o nombre de host en el puerto 80.

Inicie sesión con las credenciales que definió previamente en inventario Archivo.

Después de iniciar sesión, verá el panel principal. Desde allí, puede comenzar a administrar Ansible AWX y disfrutar de la descripción general del tablero.
Conclusión
En este tutorial, aprendimos cómo instalar Ansible AWX en Ubuntu 20.04 usando ansible-playbook con contenedores Docker.