Cómo ejecutar y programar Ansible Playbook mediante la GUI de AWX

En nuestro artículo anterior, ya habíamos demostrado los pasos de instalación de Ansible AWX en CentOS 8 y RHEL 8. Ansible AWX es una versión gratuita y de código abierto de Red Hat Ansible Tower. Proporciona una interfaz gráfica de usuario, una API Rest y un motor de tareas de Ansible.

En este artículo, veremos algunas luces sobre el uso básico de Ansible AWX GUI y cómo podemos ejecutar y programar Ansible Playbooks usando esta herramienta.

Detalles de laboratorio para AWX GUI,

  • 192.168.1.6 // Sistema Ansible AWX ya instalado (CentOS 8)
  • 192.168.1.9 // Cliente Ansible (CentOS 7)
  • 192.168.1.10 // Cliente Ansible (Ubuntu 18.04)
  • Sincronización de tiempo de todas las máquinas con servidores NTP
  • usuario sysadm con derechos sudo

Pasemos a los pasos del uso básico de AWX y ejecutemos playbooks de Ansible a través de la interfaz gráfica de usuario de AWX.

Paso 1) Configurar la autenticación basada en claves entre Ansible AWX Node y sus clientes

Como estamos usando el usuario sysadm, intercambiaremos las claves ssh de este usuario del sistema Ansbile AWX a los clientes ansible.

Supongo que el usuario sysadm ya está creado en estos sistemas y tiene los derechos de sudo. Use los comandos a continuación para generar claves SSH para el usuario sysadm desde AWX Node y comparta sus claves públicas con clientes ansibles usando el comando ssh-copy-id,

[[email protected] ~]$ ssh-keygen

sysadm-usuario-claves

Ahora copie la clave pública del usuario sysadm a los clientes

[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]

Verifique si la autenticación basada en claves se ha configurado correctamente o no, ejecute los siguientes comandos,

[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
centos7 
[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
Ubuntu-18-04 
[[email protected] ~]$

Paso 2) Crear una organización en la GUI de AWX

Inicie sesión en Ansible AWX GUI y vaya a Organización Pestaña y crea una organización haciendo clic en el símbolo «+»,

AWX-Organizaciones-Pestaña

A continuación, se nos pedirá que ingresemos el nombre de la organización,

Ansible-AWX-CREAR-ORGANIZACIÓN

Haga clic en Guardar

Paso 3) Crear un proyecto y asignarle una organización

Antes de crear un proyecto, primero creemos el directorio del proyecto donde almacenaremos todos los libros de jugadas de ansible, vaya a la consola cli del nodo AWX y ejecute,

[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation

Ahora cree un libro de jugadas de muestra para instalar paquetes bind-utils en CentOS y Ubuntu Systems,

[[email protected] ~]$ cd /var/lib/awx/projects/automation/
[[email protected] automation]$ sudo vi example.yaml
---
- hosts: all
  gather_facts: true
  become: true
  tasks:
    - yum:
        name: bind-utils
      when: ansible_os_family == "RedHat"
    - apt:
        name: dnsutils
      when: ansible_os_family == "Debian"

Guardar y salir del archivo,

Ahora vaya a AWX GUI, seleccione Proyectos Presione la pestaña y luego haga clic en el signo + para crear un nuevo proyecto y especifique el nombre del proyecto que se adapte a su configuración y especifique otros detalles como Organizaciones como «LINUXTECHI”, Tipo SCM como «Manual», Ruta base del proyecto como «/var/lib/proyectos” y Directorio de libros de jugadas como «automatización

Crear-Proyecto-Ansible-AWX

Haga clic en Guardar

Paso 4) Crear Credenciales y agregar clave privada y otros detalles

Estas credenciales se utilizarán al ejecutar los playbooks en los clientes ansible de destino. Para obtener el contenido de la clave privada SSH del usuario sysadm, ejecute el siguiente comando:

[[email protected] ~]$ cat ~/.ssh/id_rsa

Ahora, seleccione Cartas credenciales Pestaña y haz clic en el signo ‘+’ para crear credenciales y elige tipo de credenciales como «Máquina«, Escoger Organización como «LINUXTECHI“, Nombre de usuario como «sistema” y pegue la clave privada del usuario sysadm en “Clave privada SSH” Sección, Elija ‘Método de escalada de privilegios‘ como ‘sudo‘, ‘Nombre de usuario de escalada de privilegios‘ como ‘sistema‘ y ‘Contraseña de escalada de privilegios’ como {contraseña-del-usuario-sysadm}

Ansible-AWX-CREATE-CREDENCIAL

Haga clic en GUARDAR,

Paso 5) Cree un inventario, agréguele hosts y ejecute el módulo de ping

Para crear un inventario, seleccione el Inventario Pestaña y luego haga clic en el signo + y especifique el nombre del Inventario y elija la organización como «LINUXTECHI“,

Ansible-AWX - CREAR INVENTARIO

Para agregar hosts a Interfaz Inventario, elija la opción GUARDAR en la ventana de arriba y luego haga clic en HOSPEDADORES y haga clic en el símbolo ‘+’ para comenzar a agregar hosts, especifique la DIRECCIÓN IP o el nombre del host en el campo «NOMBRE DEL ANFITRIÓN” campo y luego haga clic en guardar.

Ansible-AWX-CREATE-HOST

Del mismo modo, agregue otro host «192.168.1.10».

Intentemos ejecutar el módulo de ping en uno de los hosts para verificar la conectividad y las credenciales. Elija cualquiera de los host del inventario y haga clic en «EJECUTAR COMANDOS

EJECUTAR-Comandos-Ansible-AWX

En la siguiente ventana, seleccione ‘silbido‘ de la sección del módulo y elija «credenciales de automatización” de Credenciales de máquina,

Ansible-AWX-Ping-EJECUTAR-COMANDO

Haga clic en Iniciar y luego obtendremos la siguiente pantalla,

Ansible-AWX-ping-module-Success

Perfecto, la ventana de arriba confirma que la Conectividad y las credenciales funcionan bien. Pasemos al siguiente paso y creemos plantillas.

Paso 5) Crear y ejecutar una plantilla de trabajo

Para crear una plantilla de trabajo, seleccione «Plantilla” Tabulador y haga clic en el signo + y elija “Plantilla de trabajo

Especifique lo siguiente como:

  • NOMBRE: Instalación de PKG
  • Descripción: Instalar Bind Utils PKG
  • TIPO DE TRABAJO: Ejecutar
  • INVENTARIO: Interfaz
  • PROYECTO : Automatización
  • LIBRO DE JUEGOS: ejemplo.yaml
  • CREDENCIALES: credenciales de automatización
  • Elija «HABILITAR ESCALADA DE PRIVILEGIOS»

Ansible-AWX-CREATE-JOB-TEMPLATE

Haga clic en GUARDAR

Ahora intente ejecutar el trabajo y ver si el trabajo se ejecuta correctamente, aquí la ejecución del trabajo no es más que la ejecución del libro de jugadas de Ansible en el inventario utilizando las credenciales que hemos creado en los pasos anteriores.

Seleccione el trabajo como “Instalación de paquetes” y haga clic en Rocket Symbol para ejecutar el trabajo,

Ejecutar-Trabajo-Ansible-AWX

Obtendremos la siguiente pantalla, si Job o Ansible Playbook se ejecutan con éxito, deberíamos recibir un mensaje de éxito.

Ejecución de trabajos-Ansible-AWX

Genial, el trabajo se ejecutó con éxito, programemos este trabajo.

Paso 6) Plantilla de trabajo de programación

Elija la plantilla de trabajo que desea programar, en mi caso sería “Instalación de paquetes” y el elige “HORARIOS” y haga clic en el signo + para crear un nuevo horario,

Supongamos que queremos crear un cronograma de tal manera que el trabajo se ejecute todos los días a las 16:00 horas hasta el 30 de abril.

Ansible-AWX-CREATE-SCHEDULE

Haga clic en Guardar para habilitar este horario para la plantilla de trabajo «Instalación de paquetes“.

Ansible-AWX-SCHEDULES-Job-Template

Eso es todo de este artículo. Espero que estos pasos ayuden a comprender el uso básico de la GUI de Ansible AWX y cómo se ejecutan los Playbooks de Ansible a través de la plantilla de trabajo. Por favor, no dude en compartir sus opiniones y comentarios.

Entradas relacionadas

Deja una respuesta

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