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 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:

ansible-playbook install.yml

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:

lista de contenedores de Docker

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.

Página de inicio de sesión de Ansible AWX

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

Panel de Ansible AWX

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.