¿De qué trata ansible-runner?

11

He leído el archivo README del repositorio de github, así como el sitio de documentación de ansible-runner (del proyecto oficial de ansible), pero no entiendo de qué trata ansible-runner y en qué caso puede ser útil. ¿Es un proyecto que trae características adicionales o está creado para ejecutar ansible de una manera diferente?

Baptiste Mille-Mathias
fuente
Solo una suposición de su descripción: creo que podría ser útil en una arquitectura de host de bastión, donde solo este host es accesible desde un cliente ansible y se encarga de reproducir el libro de ejecución en hosts aislados, en un dmz por ejemplo.
Tensibai
también el enlace de documentación es ansible-runner.readthedocs.io/en/latest
Shobi

Respuestas:

7

Este proyecto es para apoyar la automatización de la ejecución de libros de jugadas ansibles. Hay un proyecto basado en GUI llamado Ansible Tower o AWX para hacer eso, pero ansible-runner parece ser la capa subyacente de la automatización en esencia reemplazando el comando ansible-playbook .

Hay algunos problemas realmente serios para la automatización cuando se trata de usar ansible-playbook como parte de algunos scripts. La salida de ansible-playbook es lo más horrible bajo el sol cuando se trata de análisis. Por lo tanto, debe comenzar a escribir su propio complemento de salida y luego escribir un analizador para eso, luego debe descubrir cómo administrar las variables de entorno y las contraseñas y muchas otras cosas. Entonces ansible-runner es la respuesta a esto. Conservaría los artefactos de ejecutar una tarea o libro de jugadas y haría posible la encapsulación de ansible en una mayor automatización.

Puede ejecutarlo desde shell, puede ejecutarlo como módulo python e incluso hay un contenedor de referencia para él y obviamente AWX lo utiliza. Además, se espera que el emisor de eventos del proyecto sea mucho mejor conectable a sistemas de monitoreo como ELK y a sistemas de tipo Message Bus.

Jiri Klouda
fuente
0

Para completar la respuesta de Jiri, descubrí que ansible-runnerse utiliza como tiempo de ejecución ansible en el marco de operador de OpenShift , por lo que ejecuta un libro de jugadas ansible o un rol ansible en un pod para conciliar el estado del clúster cuando aparecen cambios en los recursos.

Entonces, ansible-runnerrealmente es la ejecución en tiempo de ejecución para ansible como runco cri-opuede ser para la ejecución de contenedores.

Baptiste Mille-Mathias
fuente