Ansible Runner

Ansible Runner 是一个工具和 Python 库,旨在帮助用户直接与 Ansible 交互,或将其作为另一个系统的组成部分(无论是通过容器镜像接口、作为独立工具,还是作为可导入的 Python 模块)。其目标是为 Ansible 提供一个稳定且一致的接口抽象。这使得 Ansible 可以被嵌入到不想自行管理复杂接口的其他系统中(例如 CI/CD 平台、Jenkins 或其他自动化工具)。

Ansible Runner 代表了 Ansible AWX 中负责运行 ansibleansible-playbook 任务并收集其输出部分的模块化。它通过提供一个通用的且不随 Ansible 自身的增长和演进而改变的接口来实现这一点。

该工具之所以实用,部分原因在于它能以灵活的方式收集输入(参见 Ansible Runner 简介)。它还拥有一套系统用于存储 Playbook 运行的输出 (stdout) 和产物(主机级事件数据、fact 数据等)。

Runner 交互主要有 3 种方式:

  • 一个独立的命令行工具 (ansible-runner),可以在前台启动或在后台异步运行

  • 一个 Python 模块 - 库接口

Ansible Runner 还可以配置为通过插件接口将状态和事件数据发送到其他系统,详见 将 Runner 状态和事件发送至外部系统

此类示例可能包括:

  • 将状态发送到 Ansible AWX

  • 将事件发送到外部日志服务

索引与表格