GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo definir y usar controladores en Ansible Playbooks

En Ansible, un identificador es sinónimo de una tarea, pero aquí está el truco:se activa para tomar medidas cuando lo llama otro evento o tarea que escucha. Los controladores se utilizan principalmente para ejecutar tareas secundarias que proceden con la instalación de un nuevo servicio, como un servidor web o una base de datos. Estas tareas incluyen reiniciar o recargar servicios después de realizar modificaciones en los archivos de configuración. Los controladores solo se ejecutan cuando una tarea lleva un notificar directiva.

Archivo Ansible Playbook con un controlador para reiniciar Nginx

Para obtener una comprensión firme de la función de los controladores en Ansible, crearemos un archivo de libro de jugadas simple llamado install_nginx.yml . El libro de jugadas contiene una única jugada que instala el servidor web Nginx en un nodo remoto de Ubuntu. Inmediatamente después de la instalación, notificar directiva le indica al controlador que reinicie el servicio Nginx

Tenga en cuenta que la definición de 'notificar' coincide con el nombre del controlador. Como puede ver el 'Reiniciar Nginx' definición bajo notificar directiva coincide con el nombre del controlador en el libro de jugadas.

Ahora, ejecutemos el archivo del libro de jugadas.

$ ansible-playbook /etc/ansible/install_nginx.yml -K

En el resultado a continuación, puede ver que Ansible ejecutó la tarea primero, seguido del controlador. Además, puede ver que registró 2 cambios que en realidad son la instalación de Nginx y el reinicio del servicio Nginx que realizó el controlador. La tarea principal fue la instalación de Nginx, mientras que la tarea secundaria fue reiniciar el servidor web de Nginx.

Archivo Ansible Playbook con múltiples jugadas y controladores

Además, puede tener un escenario en el que un archivo de libro de jugadas contenga varias jugadas y controladores.

Estas son las jugadas que tenemos:

  1. Instalación de Nginx
  2. Permitir el tráfico HTTP a través del cortafuegos UFW.

Después de que se ejecutan las jugadas, la directiva de notificación llama a cada uno de los controladores para realizar sus tareas:reiniciar Nginx y recargar el firewall UFW.

En este ejemplo, las tareas secundarias realizadas por los controladores son:

  1. Reinicio del servicio Nginx
  2. Recargando el cortafuegos

Ejecutemos el libro de jugadas una vez más.

$ ansible-playbook /etc/ansible/install_nginx.yml -K

Aquí, tenemos un total de cuatro tareas. Los dos primeros son realizados por los play y los dos restantes son manejados por los handlers. Puede ver que después del tiempo de ejecución, el libro de jugadas registró 4 cambios que corresponden a la cantidad de operaciones o tareas realizadas.

Conclusión

Evidentemente, el uso de controladores es un ejercicio bastante simple y directo. Los controladores son como tareas solo que son llamados por 'notificar' y son los últimos en ejecutarse en el libro de jugadas.


Ubuntu
  1. Cómo uso Ansible y Anacron para la automatización

  2. Cómo instalar y usar TensorFlow en CentOS 7

  3. Cómo instalar y configurar Ansible en Windows

  4. Cómo instalar y usar Ansible en Debian 11

  5. Cómo usar Ansible para instalar y configurar Redis 6 en Debian 11

Cómo crear y usar datos personalizados en Ansible

Cómo crear playbooks de Ansible para la automatización de TI

Cómo crear y ejecutar un archivo de libro de jugadas de Ansible

Roles de Ansible y cómo usarlos en Playbooks

Cómo instalar y usar Ansible en Debian 10

Cómo instalar y usar R en Ubuntu