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 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 permitir la delegación.
En este tutorial, vamos a realizar la instalación 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 4 GB de RAM
- Mínimo 2vcpus
- Mínimo 20 GB espacio de almacenamiento gratuito
Con el fin de poner en marcha Ansible AWX correctamente, también deberá tener instalado:
- Ansible
- Docker y Docker componen
- Nodo y NPM
1. Instale Ansible en Ubuntu 20.04
Primera actualización del sistema
$ 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
Salida:
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. 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 la instalación de Docker, verifique la versión:
$ docker version
Salida:
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
Salida:
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
Una vez que hayamos realizado las instalaciones anteriores, es hora de instalar Ansible AWX.
Instalar docker-py python módulo con el siguiente comando:
$ sudo apt install python3-pip git pwgen vim
Instalar 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 la versión instalada de Docker Compose.
$ docker-compose version
Salida:
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
Compruebe 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, 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
Descomprimir el directorio descargado:
$ unzip 17.1.0.zip
Y cambie 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
Salida:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
A continuación, busque un inventario archivo y ábralo con el editor favorito:
$ sudo nano inventory
Trate de mantener la siguiente configuración:
NOTA:reemplace clave 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
-i le dice a ansible que use el archivo de inventario
Salida de la instalación:
Verifica que todo vaya bien, sin tareas fallidas.
Después de la instalación de ansible-playbook, consulte los contenedores acoplables para obtener una lista de los contenedores en ejecución:
$ docker ps
Salida:
Como puede ver, un script ansible crea e inicia 4 contenedores acoplables:
- awx_tarea
- awx_web
- awx_redis
- awx_postgres
Para nosotros es lo más importante awx_web que se ejecuta en el puerto 80 .
Puede acceder a Ansible AWX Web-UI 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 panel.
Conclusión
En este tutorial, aprendimos a instalar Ansible AWX en Ubuntu 20.04 usando ansible-playbook con contenedores Docker.