Cómo instalar Ansible AWX 17.1.0 en Ubuntu 20.04

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 nuevos desarrollos.
Ansible AWX proporciona una interfaz de usuario basada en la web para administrar hosts, playbooks, módulos, programación de trabajos, automatización de flujos de trabajo, uso compartido de credenciales y herramientas de Ansible para habilitar la delegación.
En este tutorial, repasamos instalación El proceso de Ansible AWX en Ubuntu 20.04.
requisitos previos
- acceso root o usuario con privilegios sudo para conexión SSH.
- Ubuntu 20.04 o 18.04
- Mínimo RAM de 4GB
- Mínimo 2 vcpus
- Mínimo 20GB espacio de almacenamiento gratuito
Para ejecutarse correctamente, Ansible AWX también deberá tener instalado:
- Ansible
- Docker y Docker componen
- Nodo y NPM
1. Instale Ansible en Ubuntu 20.04
El primer sistema de actualización.
$ sudo apt update
Para instalar Ansible, escriba:
$ sudo apt install ansible -y
Para verificar la versión de Ansible instalada, 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 el /etc/ansible/hosts expediente.
2. Instalar Docker y Docker Compose
Para una instalación y configuración exitosas de Docker, consulte Cómo instalar Docker en Ubuntu 20.04
Después de instalar 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 instalar Docker Compose, consulte Cómo instalar Docker Compose en Ubuntu 20.04.
Después de instalar 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. Instalar Nodo 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
Después de pasar por las instalaciones anteriores, es hora de instalar Ansible AWX.
Instalación docker-py python modo con el siguiente comando:
$ sudo apt install python3-pip git pwgen vim
Instalación solicitud que permite enviar solicitudes HTTP/1.1:
$ sudo pip3 install requests==2.22.0
También necesitaremos un módulo docker-compose para python que coincida con la 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 (la mía 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 los módulos pi, descargaremos 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/instalador/
$ cd awx-17.1.0/installer/
Genere la clave secreta o genere una contraseña aleatoria para AWX con el siguiente comando:
$ pwgen -N 1 -s 30
Producción:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Entonces encuentra uno inventario archivo y ábralo con su editor favorito:
$ sudo nano inventory
Trate de mantener la siguiente configuración:
NOTA: Reemplazar 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
instalar.yml – es el nombre del archivo del libro de jugadas
a ellos le dice a ansible que use el archivo de inventario
Salida del instalador:

Verifique que todo funcione bien sin tareas fallidas.
Después de instalar ansible-playbook, verifique los contenedores acoplables 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 docker:
- awx_tarea
- awx_web
- awx_redis
- awx_postgres
Para nosotros es lo más importante. awx_web corriendo en el puerto 80.
Puede acceder a la interfaz de usuario web de Ansible AWX a través de anfitrión o nombre de host en el puerto 80.

Inicie sesión con las credenciales que se definieron previamente en el inventario expediente.

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