GNU/Linux >> Tutoriales Linux >  >> Linux

Guía de Ansible AWX:uso y configuración básicos

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

En este tutorial, le mostraremos el uso básico de Ansible AWX. Por lo tanto, necesita un servidor que ya tenga instalado Ansible AWX. Cubrimos algunas configuraciones básicas de Ansible AWX que debe conocer, como la configuración de credenciales, inventarios, configuración y ejecución de plantillas de trabajo, etc. Si aún no tiene Ansible instalado, consulte 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 raíz

Qué haremos:

  1. Instalación y configuración del entorno
  2. Configurar credenciales
  3. Configurar inventarios
  4. Configurar proyectos
  5. Configurar plantillas de trabajo
  6. Ejecutar trabajos

Paso 1:instalación y configuración del entorno

En este tutorial, implementaremos y ejecutaremos el libro de jugadas de Ansible para la instalación básica de LEMP a través del tablero de Ansible AWX.

Tenemos dos servidores para el propio awx y la máquina de destino.

10.5.5.20   ansible-awx
10.5.5.21   lemp

Ahora vamos a implementar el libro de jugadas como el usuario llamó 'hakase' y usaremos la autenticación SSH basada en claves. Por lo tanto, asegúrese de haber configurado el usuario y la autenticación basada en claves en la máquina de destino 'lemp'.

Pruebe usando el siguiente comando de 'ansible-awx ' servidor.

su - hakase
ssh [email protected]

Asegúrese de haber iniciado sesión sin ninguna contraseña.

Ahora el usuario 'hakase' debe tener la contraseña raíz para ejecutar tareas.

En la máquina de destino 'lemp ', ejecute el comando sudo como se muestra a continuación.

su - hakase
sudo su

Asegúrese de haber ingresado los privilegios de root sin la contraseña.

Ahora debe instalar los paquetes de python en todas las máquinas de destino administradas por Ansible.

sudo apt install python -y

Paso 2:configuración de credenciales

En primer lugar, debemos configurar las credenciales de Ansible AWX. Se utiliza para la autenticación al iniciar y ejecutar trabajos en servidores administrados, sincronizar con fuentes de inventario e importar proyectos.

De forma predeterminada, Ansible AWX admite muchas credenciales, incluida la máquina virtual a través de la autenticación SSH, Amazon Web Services, Google Compute Engine, OpenStack, contraseña de Vault, control de fuente, etc.

Para configurar las credenciales, haga clic en 'Credenciales ' a la izquierda y haz clic en '+' botón en el lado derecho de la misma.

Ahora escriba las credenciales 'NOMBRE ' y 'DESCRIPCIÓN ', luego especifique el 'TIPO DE CREDENCIAL ' a 'Máquina '.

Simplemente, la credencial de 'Máquina' le permitirá usar la autenticación SSH para administrar servidores. Es compatible con autenticaciones basadas en contraseñas y claves.

Para esta guía, utilizaremos la autenticación basada en claves. Por lo tanto, escriba el nombre de usuario y pegue las claves privadas para ese usuario.

Luego haga clic en 'GUARDAR botón '.

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

Paso 3 - Configuración de inventarios

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

Para administrar y aprovisionar servidores, debemos crear un nuevo grupo de inventario y luego agregar hosts de servidor a ese grupo de inventario.

Para agregar un nuevo inventario, haga clic en 'Inventarios ' a la izquierda, luego haz clic en '+' y elige el 'Inventario'.

Escriba el 'NOMBRE ' y 'DESCRIPCIÓN ' del inventario, luego haga clic en 'GUARDAR botón '.

Ahora haga clic en 'HOSTS ' y haga clic en '+' botón para agregar nuevos hosts.

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

Ahora haga clic en 'GUARDAR botón '.

A continuación, debemos asegurarnos de la configuración de los hosts comprobando los hosts con el comando ping.

Volver a los 'ANFITRIONES ', marque el servidor de nombres de sus hosts y haga clic en 'EJECUTAR COMANDOS botón '.

Ahora elige el 'MÓDULO ' llamado 'ping ', haga clic en el botón de búsqueda dentro de 'CREDENCIAL DE LA MÁQUINA ' y 'SELECCIONAR ' propio, luego haga clic en 'LANZAR botón '.

Y será redirigido a la nueva página y debajo está el resultado.

Se ha creado un nuevo inventario y se le ha agregado el servidor de la máquina de destino.

Paso 4 - Configurar proyectos

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

Para crear nuevos proyectos, haga clic en 'Proyectos ' a la izquierda y haz clic en '+' botón.

Escriba el 'NOMBRE ' de tu proyecto y la 'DESCRIPCIÓN ', luego elija el 'TIPO SCM ' a 'Git ' y pega tu repositorio de libro de jugadas.

Ahora haga clic en 'GUARDAR ' y, como resultado, se ha creado un nuevo proyecto para el libro de jugadas.

Además:

Si desea crear un nuevo proyecto con el tipo SCM 'Manual ', puede crear un nuevo directorio de playbooks ubicado en '/var/lib/awx/projects ' directorio.

El directorio '/var/lib/awx/projects' es el directorio de proyecto predeterminado para sus libros de jugadas de Ansible si está utilizando la versión acoplable de AWX con 'project_data_dir ' habilitado.

Paso 5:crear nuevas plantillas de trabajo

La plantilla de trabajo es la definición de ejecutar playbooks de Ansible en sí. Entonces, para crear una nueva plantilla de trabajo o ejecutar la plantilla de trabajo, debemos agregar el libro de jugadas de Ansible desde nuestro 'Proyecto', las 'Credenciales' para la autenticación y las máquinas de destino almacenadas en los 'Inventarios'.

Para esta guía, ya hemos creado un nuevo Proyecto, Credencial e Inventario. Por lo tanto, simplemente haga clic en 'Plantillas ' a la izquierda, luego haz clic en '+' y seleccione la opción 'Plantilla de trabajo ' opción.

Ahora debe escribir el 'NOMBRE ' y 'DESCRIPCIÓN ' del trabajo. Luego elija el 'INVENTARIO ', 'CREDENCIAL ', y el 'PROYECTO '. Y después de eso, especifique el 'PLAYBOOK ' que desea ejecutar e implementar.

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

Paso 6:ejecutar la plantilla de trabajo

Después de crear la nueva plantilla de trabajo, ejecutaremos la plantilla de trabajo e implementaremos los 'Proyectos' de Playbooks para apuntar a los hosts en el 'Inventario'.

Haga clic en 'Plantillas ' a la izquierda y obtendrá listas de plantillas de trabajo disponibles.

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

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

El trabajo se completó con éxito y la máquina de destino se instaló LEMP Stack a través de Ansible AWX.

Paso 7:prueba de la máquina objetivo

Probar el nombre de dominio de la máquina de destino. La configuración del nombre de dominio almacenada en 'roles/web/vars/main.yml ' configuración.

Verificando los servicios Nginx y PHP-FPM usando los comandos systemctl.

systemctl status nginx
systemctl status php7.2-fpm

Prueba de la base de datos MySQL en la máquina de destino. Configuraciones detalladas de la base de datos MySQL almacenadas en el archivo de configuración 'roles/db/vars/main.yml'.

Como resultado, LEMP Stack se instaló en la máquina de destino a través de Ansible AWX.


Linux
  1. Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

  2. Apache con Tomcat, una guía de instalación y configuración paso a paso

  3. Cómo:replicación y configuración de DRBD

  4. Guía para principiantes de Samba (instalación y configuración)

  5. uso de comodines de linux en cp y mv

Docker:Instalación y uso básico en Ubuntu 16.04

Instalar y configurar Ansible en Linux

Archivos de inventario y configuración de Ansible

Cómo realizar la configuración básica inicial de WHM y cPanel en CentOS 7.x

Guía y configuración del gestor de arranque LILO Linux

Guía para principiantes del servidor Apache HTTP:instalación y configuración