Worum geht es bei Ansible-Runner?

11

Ich habe die README-Datei aus dem Github-Repository sowie die Dokumentationsseite von Ansible-Runner (aus dem offiziellen Ansible-Projekt) gelesen, verstehe aber nicht, worum es bei Ansible-Runner geht und in welchem ​​Fall kann es nützlich sein? Ist es ein Projekt, das zusätzliche Funktionen bietet, oder wurde es erstellt, um Ansible auf andere Weise auszuführen?

Baptiste Mille-Mathias
quelle
Nur eine Vermutung aus Ihrer Beschreibung: Ich denke, es könnte in einer Bastion-Host-Architektur nützlich sein, in der nur dieser Host vom ansible-Client aus zugänglich ist und das Runbook für isolierte Hosts abgespielt wird, beispielsweise in einem dmz.
Tensibai
Auch der Dokumentationslink ist ansible-runner.readthedocs.io/en/latest
Shobi

Antworten:

7

Dieses Projekt soll die Automatisierung der Ausführung ansibler Playbooks unterstützen. Es gibt ein GUI-basiertes Projekt namens Ansible Tower oder AWX, um dies zu tun, aber Ansible-Runner scheint die zugrunde liegende Ebene der Automatisierung zu sein, die im Wesentlichen den Befehl Ansible-Playbook ersetzt .

Es gibt einige wirklich schwerwiegende Probleme bei der Automatisierung, wenn versucht wird, Ansible-Playbook als Teil einiger Skripte zu verwenden. Die Ausgabe von Ansible-Playbook ist das Schrecklichste unter der Sonne, wenn es um das Parsen geht. Sie müssen also mit dem Schreiben Ihres eigenen Ausgabe-Plugins beginnen und dann einen Parser dafür schreiben. Dann müssen Sie herausfinden, wie die Umgebungsvariablen und Kennwörter und viele andere Dinge verwaltet werden. So ansible-Läufer ist die Antwort auf diese. Es würde verhindern, dass die Artefakte eine Aufgabe oder ein Spielbuch ausführen, und die Kapselung von Ansible in einer weiteren Automatisierung ermöglichen.

Sie können es von der Shell aus ausführen, Sie können es als Python-Modul ausführen und es gibt sogar einen Referenzcontainer dafür, und offensichtlich wird es von AWX verwendet. Darüber hinaus kann der Event-Emitter des Projekts hoffentlich besser auf Überwachungssysteme wie ELK und Message Bus-Systeme angeschlossen werden.

Jiri Klouda
quelle
0

Um ansible-runnerJiris Antwort zu vervollständigen, habe ich herausgefunden, dass sie als ansible Laufzeit im OpenShift-Operator- Framework verwendet wird. Sie führen also ein ansibles Playbook oder eine ansible Rolle in einem Pod aus, um den Clusterstatus abzugleichen, wenn Änderungen an Ressourcen angezeigt werden.

So ansible-runnerist eine wirklich die Laufzeitausführung für ansible wie runcoder cri-okann für die Containerausführung sein.

Baptiste Mille-Mathias
quelle