Cómo instalar Ansible AWX con Docker-Compose en CentOS 8

Red Hat ha proporcionado dos herramientas GUI para la gestión centralizada de nodos remotos mediante Ansible.

Ansible Tower es una interfaz basada en web y un punto final de API REST para Ansible. Proporciona registro y auditoría centralizados, control de acceso basado en roles e implementación con solo pulsar un botón.

AWX es una utilidad de automatización basada en Ansible Tower que proporciona una interfaz gráfica web, una API REST y un motor de tareas que permite a los usuarios administrar sus proyectos ansible. En otras palabras, podemos que AWX sea una versión de código abierto de Anisble Tower. Con AWX, puede realizar una serie de tareas que incluyen la gestión del inventario, automatización del flujo de trabajo, programación de trabajos, gestión de credenciales y reportando por mencionar solo algunos.

Una de las ventajas de AWX es que puede aprovechar todas las funciones empresariales que se incluyen con Ansible Tower para una cantidad ilimitada de nodos. En otras palabras, el límite de 10 nodos no se aplica a AWX. Además, AWX es ideal para entornos de laboratorio o desarrollo. Sin embargo, no se considera una herramienta ideal para entornos de producción en comparación con Torre Ansible.

AWX necesita un entorno en contenedores para funcionar. Un par de opciones que admiten AWX incluyen Kubernetes, OpenShift y Componer ventana acoplable. En esta guía, sin embargo, vamos a utilizar Docker compose porque es bastante fácil de configurar y es amigable con los recursos.

Requisitos para Ansible AWX

Antes de comenzar, asegúrese de que el nodo de CentOS 8 tenga lo siguiente:

  • 4 GB de RAM
  • CPU de 3,4 GHz con 2 núcleos
  • 20 GB de espacio en disco duro
  • CentOS 8 debe ejecutar Openshift, Docker o Kubernetes
  • Ansible debe estar ya instalado

Con todos los requisitos cumplidos, ¡manos a la obra!

Paso 1) Instale EPEL en CentOS 8

Comience instalando EPEL en el nodo CentOS 8 porque proporciona algunos de los paquetes esenciales que requiere AWX. Por lo tanto, inicie sesión como usuario root en su nodo CentOS 8 y ejecute el comando:

[[email protected] ~]# dnf install epel-release -y

Paso 2) Instalar paquetes y dependencias adicionales

Además, debemos dar un paso adicional e instalar los paquetes esenciales que se requerirán a medida que avancemos con la instalación de AWX:

[[email protected] ~]# dnf install git gcc gcc-c++ nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip

Salida de muestra

Instalar-paquetes-para-awx-centos8

Paso 3) Instale Docker CE en CentOS 8

RedHat / CentOS ya no admite la instalación directa de docker, por lo que si ejecuta dnf install docker-ce, se encontrará con un error. Para instalar Docker en CentOS 8, necesitamos agregar el repositorio de Docker al sistema usando la herramienta dnf config-manager.

[[email protected] ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

El siguiente paso es instalar Docker, ejecuta el comando:

[[email protected] ~]# dnf install docker-ce-3:18.09.1-3.el7

Install-docker-ce-centos8

Ahora, ejecute el siguiente comando para saber qué versión exacta de Docker tenemos instalada.

[[email protected] ~]# rpm -qa | grep docker
or
[[email protected] ~]# docker --version

Ahora, proceda a iniciar y habilitar la ventana acoplable usando los comandos

[[email protected] ~]# systemctl start docker
[[email protected] ~]# systemctl enable --now docker.service

Con Docker instalado, ahora podemos proceder a instalar Docker compose.

Nota: Ejecute el siguiente comando para configurar el comando python para usar python 3 porque en CentOS 8 y RHEL8, python 3 se instala como dependencia cuando instalamos ansible

[[email protected] ~]# alternatives --set python /usr/bin/python3

Paso 4) Instale Docker-Compose en CentOS 8

Para la instalación de docker-compose, usaremos el comando pip. Pip es el administrador de paquetes de Python que le permite instalar paquetes de Python.

Para instalar vamos a usar pip3 ya que el sistema se está ejecutando usando python3

[[email protected] ~]# pip3 install docker-compose

pip3-docker-compose-instalar

¡Estupendo! ahora podemos proceder a instalar AWX.

Paso 5) Instale Ansible AWX

Para instalar AWX, primero clone el repositorio de Git como se muestra:

[[email protected] ~]# git clone https://github.com/ansible/awx.git

Git-Clone-AWX-CentOS8

A continuación, navegue hasta el directorio awx/installer y localice el archivo de inventario. Necesitamos ajustar algunos parámetros:

Nota: No olvide configurar el intérprete de python predeterminado en pitón3

[[email protected] ~]# cd awx/installer/
[[email protected] installer]# vi inventory

localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"
postgres_data_dir=/var/lib/pgdocker
awx_official=true
project_data_dir=/var/lib/awx/projects
awx_alternate_dns_servers="4.2.2.1,4.2.2.2"

Igualmente crucial es la necesidad de configurar la contraseña de Admin y Postgres

[email protected]
[email protected]

A partir de entonces, asegúrese de generar una clave criptográfica para el cifrado del archivo de inventario

[[email protected] ~]# openssl rand -base64 30

clave-secreta-openssl-centos8

Copie la clave secreta y agréguela a la entrada secret_key de la siguiente manera en el archivo de inventario,

secret_key=SGYsSWciI5yRDQeZuEm5wW98pQeJMG+ACABPsGfC

Guarde y salga del archivo de inventario.

Para confirmar e imprimir los cambios realizados, ejecute el comando:

[[email protected]ansible installer]# grep -v '^#' inventory | grep -v '^$'

Archivo de inventario-ansible-awx-centos8

Para instalar AWX, ejecute el comando Ansible:

[[email protected] installer]# ansible-playbook -i inventory install.yml

ansible-playbook-awx-1

Docker tarda entre 4 y 5 minutos en ejecutar los contenedores necesarios y construir contenedores, ¡así que relájese y disfrute de su taza de té! El resultado a continuación será una confirmación de que todo salió perfectamente bien.

ansible-playbook-awx-2

Una vez finalizada la instalación, puede verificar los contenedores que se inician a través de docker-compose

[[email protected] installer]# docker ps

docker-containers-awx-centos8

En caso de que el firewall del sistema operativo esté habilitado y en ejecución, permita el puerto http (80) y https (443) usando los siguientes comandos:

[[email protected] installer]# firewall-cmd --zone=public --add-masquerade --permanent
[[email protected] installer]# firewall-cmd --permanent --add-service=http
[[email protected] installer]# firewall-cmd --permanent --add-service=https
[[email protected] installer]# firewall-cmd --reload

Paso 5) Acceso al portal GUI de AWX

Para acceder a la consola web de AWX, abra su navegador y escriba la IP del servidor AWX de Ansible y presione ENTER.

http://awx-server-ip-address

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

Proporcione el nombre de usuario y la contraseña para Admin y presione ENTER. A partir de entonces, se mostrará el tablero de AWX como se muestra:

Ansible-AWX-Dashboard-CentOS8

Y así es como instala AWX con docker-compose en un servidor CentOS 8.

Leer también : Cómo ejecutar y programar Ansible Playbook mediante la GUI de AWX

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *