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 de sysadm con derechos sudo
Pasemos a los pasos del uso básico de AWX y la ejecución de playbooks de Ansible a través de la GUI 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 ansible usando el comando ssh-copy-id,
[[email protected] ~]$ ssh-keygen
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 "+",
A continuación, se nos pedirá que ingresemos el nombre de la 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"
Guarde y salga 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 Playbook como “automatización ”
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 Credenciales Presione la pestaña y haga clic en el signo '+' para crear credenciales y elija Tipo de credenciales como “Máquina “, Elija Organización como “LINUXTECHI “, Nombre de usuario como “sysadm ” 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 'sysadm ' y 'Contraseña de escalada de privilegios' como {contraseña-del-usuario-sysadm}
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 haz clic en el signo + y especifica el nombre del Inventario y elige la organización como “LINUXTECHI “,
Para agregar hosts a Frontend Inventario, elija la opción GUARDAR en la ventana de arriba y luego haga clic en HOSTS y haga clic en el símbolo '+' para comenzar a agregar hosts, especifique la DIRECCIÓN IP o el nombre del host en "NOMBRE DEL HOST ” y luego haga clic en guardar.
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 hosts del inventario y haga clic en "EJECUTAR COMANDOS ”
En la siguiente ventana, elija 'ping ' de la sección del módulo y elija "credenciales de automatización ” de Credenciales de máquina,
Haga clic en Iniciar y luego obtendremos la siguiente pantalla,
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 Haga clic en la pestaña "+" 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
- Seleccione "HABILITAR ESCALADA DE PRIVILEGIOS"
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 PKG ” y haga clic en Rocket Symbol para ejecutar el trabajo,
Obtendremos la siguiente pantalla, si Job o Ansible Playbook se ejecutan con éxito, deberíamos recibir un mensaje de éxito.
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 PKG ” y elija “HORARIO ” 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,
Haga clic en Guardar para habilitar este programa para la plantilla de trabajo "Instalación de PKG “.
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. No dude en compartir sus opiniones y comentarios.