De quoi parle Ansible-Runner?

11

J'ai lu le fichier README du référentiel github ainsi que le site de documentation de ansible-runner (du projet officiel ansible) mais je ne comprends pas de quoi parle ansible-runner et dans quel cas peut-il être utile? Est-ce un projet qui apporte des fonctionnalités supplémentaires ou est-il créé pour exécuter ansible d'une manière différente?

Baptiste Mille-Mathias
la source
Juste une supposition à partir de votre description: je pense que cela pourrait être utile dans une architecture d'hôte bastion, où seul cet hôte est accessible à partir du client ansible et il prend soin de jouer le livre d'exécution à des hôtes isolés, dans un dmz par exemple.
Tensibai
le lien de documentation est également ansible-runner.readthedocs.io/en/latest
Shobi

Réponses:

7

Ce projet vise à soutenir l'automatisation des playbooks ansible en cours d'exécution. Il existe un projet basé sur une interface graphique appelé Ansible Tower ou AWX pour ce faire, mais ansible-runner semble être la couche sous-jacente de l'automatisation en remplacement de la commande ansible-playbook .

Il y a des problèmes d'automatisation très sérieux lorsque vous essayez d'utiliser ansible-playbook dans le cadre de certains scripts. La sortie de ansible-playbook est la chose la plus horrible sous le soleil quand il s'agit d'analyser. Vous devez donc commencer par écrire votre propre plugin de sortie, puis écrire un analyseur pour cela, puis vous devez comprendre comment gérer les variables d'environnement et les mots de passe et bien d'autres choses. Donc ansible-runner est la réponse à cela. Cela empêcherait les artefacts d'exécuter une tâche ou un playbook et rendrait possible l'encapsulation de ansible dans une automatisation ultérieure.

Vous pouvez l'exécuter à partir du shell, vous pouvez l'exécuter comme module python et il y a même un conteneur de référence pour lui et évidemment il est utilisé par AWX. De plus, il est à espérer que l'émetteur d'événements du projet sera bien mieux connectable aux systèmes de surveillance comme ELK et aux systèmes de type Message Bus.

Jiri Klouda
la source
0

Pour compléter la réponse de Jiri, j'ai découvert qu'il ansible-runnerest utilisé comme runtime ansible dans le framework openshift-operator , donc vous exécutez un playbook ansible ou un rôle ansible dans un pod pour réconcilier l'état du cluster lorsque des changements apparaissent sur les ressources.

Il en ansible-runnerva de même pour l'exécution d'ansible comme runcou cri-opeut l'être pour l'exécution de conteneurs.

Baptiste Mille-Mathias
la source