Ansible 模块

2024 年 8 月 29 日 | 阅读 2 分钟

Ansible 模块是离散的代码单元,可以从命令行或 playbook 任务中使用。

这些模块在 Ansible 中也称为任务插件或库插件。

Ansible 附带了几个模块,称为模块库,可以通过 playbook 直接或远程主机执行。

用户也可以编写自己的模块。 这些模块可以控制服务、系统资源、文件等,并处理执行系统命令。

让我们看看如何从命令行执行三个不同的模块。

每个模块都支持接受参数。 主要所有模块都采用以空格分隔的 key=value 参数。

有些模块不接受参数,而 shell/command 模块接受要执行的命令字符串。

从 playbook 中,Ansible 模块的执行方式非常相似,例如

这是另一种将参数传递给使用 YAML 语法的模块的方法,也称为复杂参数。

从技术上讲,所有模块都返回 JSON 格式的数据,尽管在命令行或 playbook 中,您不需要了解太多。 如果您正在编写自己的模块,这意味着您不必使用任何特定语言编写模块,您可以选择。

模块应该是幂等的,如果他们检测到当前状态与期望的最终状态匹配,则避免进行任何更改。 使用 Ansible playbook 时,这些模块可以触发“变更事件”,以通知“处理程序”运行其他任务。

可以使用 Ansible-doc 工具从命令行访问每个模块的文档


下一个主题Ansible Shell