如何将 Ansible 清单重用于本地任务?

如何将 Ansible 清单重用于本地任务?

我正在尝试利用 Ansible 进行配置管理和集中管理。

我感兴趣的所有机器实际上都是将运行 Ansible 的主机上的容器。

目前,我正在编写一个动态清单脚本,该脚本对不同的主机进行分组,并使某些主机变量可用于每个组和每个主机。

如何使用库存信息来运行本地任务?

例子:我有一个名为 的容器foo,动态清单为其定义了某些项目,如 IP 地址、cgroup 限制等。如何在来宾容器启动之前重用该信息,以便在主机上生成(使用常用的 Jinja2 模板)容器配置?

答案1

如果我理解正确的话,您需要访问为通用主机定义的一些 ansible 变量。您可以通过字典访问所有主机变量hostvars,该字典以主机名作为主键,例如:

{{ hostvars['foo']['ipv4']['address'] }}

学分转到:

相关内容