我已经从github存储库以及ansible-runner的文档站点(来自官方的ansible项目)中读取了README文件,但我不了解ansible-runner的含义,在什么情况下它有用吗?它是一个具有附加功能的项目,还是创建为以其他方式运行ansible?

评论

只是从您的描述中得出的猜测:我认为它在堡垒主机体系结构中很有用,在该体系结构中,ansible客户端只能访问此主机,并且需要在dmz中将运行手册播放到隔离的主机上。 >
另外文档链接是ansible-runner.readthedocs.io/en/latest

#1 楼

该项目旨在支持运行Ansible剧本的自动化。有一个基于GUI的项目叫Ansible Tower或AWX,但实际上ansible-runner似乎是自动化的基础层,它取代了ansible-playbook命令。尝试在某些脚本中使用ansible-playbook时实现自动化。当涉及解析时,ansible-playbook的输出是在阳光下最糟糕的事情。因此,您必须首先编写自己的输出插件,然后为此编写一个解析器,然后需要弄清楚如何管理环境变量和密码以及许多其他事情。因此,ansible-runner就是答案。它将保留运行任务或剧本的工件,并使ansible的封装在进一步的自动化中成为可能。

您可以从shell运行它,可以作为python模块运行它,甚至还有一个引用容器为此,很明显它被AWX使用。此外,该项目的事件发射器有望更好地插入到ELK等监视系统和Message Bus型系统中。

#2 楼

为了完成Jiri的回答,我发现ansible-runner在openshift-operator框架中用作ansible运行时,因此当资源上出现更改时,您可以在an pod中运行ansible剧本或ansible角色来协调集群状态。 br />因此ansible-runner确实是ansible的运行时执行,因为runccri-o可以用于容器执行。