Ansible AWX · 7 min read · Jan 25, 2026

Guía de Ansible AWX: Uso y Configuración Básica

AWX es una aplicación web de código abierto que proporciona una interfaz de usuario, API REST y motor de tareas para Ansible. Es la versión de código abierto de Ansible Tower. AWX te permite gestionar playbooks de Ansible, inventarios y programar trabajos para que se ejecuten utilizando la interfaz web.

En este tutorial, te mostraremos el uso básico de Ansible AWX. Por lo tanto, necesitas un servidor que ya tenga instalado Ansible AWX. Cubrimos algunas configuraciones básicas de Ansible AWX que debes conocer, como configurar credenciales, inventarios, configurar y ejecutar plantillas de trabajo, etc. Si aún no tienes Ansible instalado, consulta este tutorial: https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

Requisitos previos

  • 2 o 3 servidores - 10.5.5.20 ansible-awx
  • 10.5.5.21 lemp
  • Comprensión básica sobre Ansible
  • Privilegios de root

Lo que haremos:

  1. Configuración y Preparación del Entorno
  2. Configuración de Credenciales
  3. Configuración de Inventarios
  4. Configuración de Proyectos
  5. Configuración de Plantillas de Trabajo
  6. Ejecución de Trabajos

Paso 1 - Configuración y Preparación del Entorno

En este tutorial, vamos a desplegar y ejecutar el playbook de Ansible para la instalación básica de LEMP a través del panel de control de Ansible AWX.

Tenemos dos servidores para el awx en sí y la máquina objetivo.

10.5.5.20   ansible-awx  
10.5.5.21   lemp

Ahora vamos a desplegar el playbook como el usuario llamado ‘hakase’ y utilizando la autenticación SSH basada en clave. Así que asegúrate de que ya has configurado el usuario y la autenticación basada en clave en la máquina objetivo ‘lemp’.

Prueba utilizando el siguiente comando desde el servidor ‘ ansible-awx ‘.

su - hakase  
ssh [email protected]

Asegúrate de que has iniciado sesión sin ninguna contraseña.

Ahora el usuario ‘hakase’ debe tener privilegios de root sin contraseña para ejecutar tareas.

En la máquina objetivo ‘ lemp ‘, ejecuta el comando sudo como se indica a continuación.

su - hakase  
sudo su

Asegúrate de que has ingresado los privilegios de root sin la contraseña.

Ahora debes instalar los paquetes de python en todas las máquinas objetivo gestionadas por Ansible.

sudo apt install python -y

Instalar Python

Paso 2 - Configuración de Credenciales

Primero que nada, necesitamos configurar las Credenciales de Ansible AWX. Se utilizan para la autenticación al lanzar y ejecutar trabajos contra servidores gestionados, sincronizando con fuentes de inventario e importando proyectos.

Por defecto, Ansible AWX admite muchas credenciales, incluyendo la máquina VM a través de autenticación SSH, Amazon Web Services, Google Compute Engine, OpenStack, contraseña de Vault, Control de Fuente, etc.

Para configurar credenciales, haz clic en el menú ‘ Credenciales ‘ a la izquierda y haz clic en el botón ‘+’ en el lado derecho.

Configurar Credenciales

Ahora escribe las credenciales ‘ NOMBRE ‘ y ‘ DESCRIPCIÓN ‘, luego especifica el ‘ TIPO DE CREDENCIAL ‘ como ‘ Máquina ‘.

Simplemente, la credencial ‘Máquina’ te permitirá usar la autenticación SSH para gestionar servidores. Soporta tanto autenticaciones por contraseña como basadas en clave.

Para esta guía, utilizaremos la autenticación basada en clave. Así que, escribe el nombre de usuario y pega las claves privadas para ese usuario.

autenticación basada en clave

Luego haz clic en el botón ‘ GUARDAR ‘.

Como resultado, se ha creado el nuevo tipo de credenciales de Ansible AWX ‘Máquina’.

Credenciales de Ansible AWX

Paso 3 - Configuración de Inventarios

Los inventarios son grupos de servidores host que son gestionados por Ansible AWX. Los inventarios te permiten crear un grupo con varios servidores host en él. Y facilita la gestión de diferentes servidores con diferentes entornos.

Para gestionar y aprovisionar servidores, debemos crear un nuevo grupo de inventario y luego agregar servidores host a ese grupo de inventario.

Para agregar un nuevo inventario, haz clic en el menú ‘ Inventarios ‘ a la izquierda, luego haz clic en el botón ‘+’ y elige ‘Inventario’.

Configurar Inventarios AWX

Escribe el ‘ NOMBRE ‘ y ‘ DESCRIPCIÓN ‘ del inventario, luego haz clic en el botón ‘ GUARDAR ‘.

Nombre y descripción

Ahora haz clic en la pestaña ‘ HOSTS ‘, y haz clic en el botón ‘+’ para agregar nuevos hosts.

hosts

Escribe el ‘ NOMBRE DEL HOST ‘, ‘ DESCRIPCIÓN ‘, y las ‘ VARIABLES ‘ con la configuración adicional para la dirección IP de la máquina objetivo ‘ansible_host: 10.5.5.21’.

Nombre del host y variables

Ahora haz clic en el botón ‘ GUARDAR ‘.

A continuación, necesitamos asegurar la configuración de los hosts verificando los hosts utilizando el comando ping.

Regresa a la pestaña ‘ HOSTS ‘, selecciona el nombre de tu servidor y haz clic en el botón ‘ EJECUTAR COMANDOS ‘.

Ahora elige el ‘ MÓDULO ‘ llamado ‘ ping ‘, haz clic en el botón de búsqueda dentro de ‘ CREDENCIAL DE MÁQUINA ‘ y ‘ SELECCIONA ‘ la tuya, luego haz clic en el botón ‘ LANZAR ‘.

Credencial de máquina

Y serás redirigido a la nueva página y a continuación se muestra el resultado.

Resultado de la ejecución del script awx

Se ha creado un nuevo inventario, y el servidor de la máquina objetivo ha sido agregado a él.

Paso 4 - Configuración de Proyectos

Los proyectos se representan como Playbooks de Ansible en AWX. Son colecciones de Playbooks de Ansible que podemos gestionar a través del directorio de proyectos local o utilizando el sistema SCM como Git, Subversion, Mercurial y RedHat Insights.

Para crear nuevos proyectos, haz clic en el menú ‘ Proyectos ‘ a la izquierda y haz clic en el botón ‘+’.

Proyectos AWX

Escribe el ‘ NOMBRE ‘ de tu proyecto y la ‘ DESCRIPCIÓN ‘, luego elige el ‘ TIPO DE SCM ‘ como ‘ Git ‘ y pega tu repositorio de playbook.

Nombre, descripción y tipo de scm

Ahora haz clic en el botón ‘ GUARDAR ‘ y como resultado, se ha creado un nuevo proyecto para el playbook.

El proyecto ha sido agregado

Adicionalmente:

Si deseas crear un nuevo proyecto con el tipo de SCM ‘ Manual ‘, puedes crear un nuevo directorio de playbooks ubicado en el directorio ‘ /var/lib/awx/projects ‘.

El directorio ‘/var/lib/awx/projects’ es el directorio de proyectos predeterminado para tus playbooks de Ansible si estás utilizando la versión docker de AWX con ‘ project_data_dir ‘ habilitado.

Paso 5 - Crear Nuevas Plantillas de Trabajo

La plantilla de trabajo es la definición de la ejecución de los playbooks de Ansible en sí. Así que, para crear una nueva plantilla de trabajo o ejecutar la plantilla de trabajo, necesitamos agregar el playbook de Ansible de nuestro ‘Proyecto’, las ‘Credenciales’ para la autenticación, y las máquinas objetivo que se almacenan en los ‘Inventarios’.

Para esta guía, ya hemos creado un nuevo Proyecto, Credencial e Inventario. Así que, simplemente haz clic en el menú ‘ Plantillas ‘ a la izquierda, luego haz clic en el botón ‘+’ y elige la opción ‘ Plantilla de trabajo ‘.

Agregar plantilla de trabajo

Ahora necesitas escribir el ‘ NOMBRE ‘ y ‘ DESCRIPCIÓN ‘ del trabajo. Luego elige el ‘ INVENTARIO ‘, ‘ CREDENCIAL ‘, y el ‘ PROYECTO ‘. Y después, especifica el ‘ PLAYBOOK ‘ que deseas ejecutar y desplegar.

Agregar detalles del proyecto de trabajo

Y como resultado, se ha creado la nueva plantilla de trabajo de Ansible AWX.

Paso 6 - Ejecutar la Plantilla de Trabajo

Después de crear la nueva plantilla de trabajo, ejecutaremos la plantilla de trabajo y desplegaremos los Playbooks ‘Proyectos’ a los hosts objetivo en el ‘Inventario’.

Haz clic en el menú ‘ Plantillas ‘ a la izquierda y obtendrás listas de plantillas de trabajo disponibles.

Una vez que el trabajo haya terminado, obtendrás el signo verde dentro del nombre de la plantilla de trabajo.

Resultado de la ejecución de la plantilla

Haz clic en el signo verde dentro del nombre de la plantilla de trabajo y se te mostrará el resultado real de ese trabajo.

Resultado del trabajo

El trabajo se completó con éxito, y la máquina objetivo ha instalado el Stack LEMP a través de Ansible AWX.

Paso 7 - Prueba de la Máquina Objetivo

Prueba el nombre de dominio de la máquina objetivo. La configuración del nombre de dominio se almacena en la configuración ‘ roles/web/vars/main.yml ‘.

Probar servidor objetivo

Verificando los servicios de Nginx y PHP-FPM utilizando comandos systemctl.

systemctl status nginx  
systemctl status php7.2-fpm

Estado de Nginx y php-fpm

Probando la base de datos MySQL en la máquina objetivo. Las configuraciones detalladas de la base de datos MySQL se almacenan en el archivo de configuración ‘roles/db/vars/main.yml’.

Estado de MySQL

Como resultado, el Stack LEMP ha sido instalado en la máquina objetivo a través de Ansible AWX.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.