Ansible Runner
Ansible Runner 是一个工具和 Python 库,旨在帮助用户直接与 Ansible 交互,或将其作为另一个系统的组成部分(无论是通过容器镜像接口、作为独立工具,还是作为可导入的 Python 模块)。其目标是为 Ansible 提供一个稳定且一致的接口抽象。这使得 Ansible 可以被嵌入到不想自行管理复杂接口的其他系统中(例如 CI/CD 平台、Jenkins 或其他自动化工具)。
Ansible Runner 代表了 Ansible AWX 中负责运行 ansible 和 ansible-playbook 任务并收集其输出部分的模块化。它通过提供一个通用的且不随 Ansible 自身的增长和演进而改变的接口来实现这一点。
该工具之所以实用,部分原因在于它能以灵活的方式收集输入(参见 Ansible Runner 简介)。它还拥有一套系统用于存储 Playbook 运行的输出 (stdout) 和产物(主机级事件数据、fact 数据等)。
与 Runner 交互主要有 3 种方式:
一个独立的命令行工具 (
ansible-runner),可以在前台启动或在后台异步运行一个 Python 模块 - 库接口
Ansible Runner 还可以配置为通过插件接口将状态和事件数据发送到其他系统,详见 将 Runner 状态和事件发送至外部系统。
此类示例可能包括:
将状态发送到 Ansible AWX
将事件发送到外部日志服务