ansible来自安装模块的hostvars和收集的事实和事实是如何不同的

hae*_*ish 2 ansible

在Ansible中调用来自hostvars的值和调用不同设置模块的事实有什么区别?

如果我要保留主机特定值,只需使用hostvars来获取值?我有很长的主机列表(分组).如果我使用hostvars来检索值,我如何区分主机和组?

Kon*_*rov 6

您可以在与主机联系之前在广告资源中定义主机变量.
您在设置阶段收集事实.

主机变量和收集的事实都合并到同一个字典中hostvars,因此您无法在运行时区分它们.

组只是用来逻辑主机组,仅此而已,所有的组变量被合并到同一个hostvars字典用于组中的所有主机,所以你不能分清什么是组var和什么是主机变种.

{{ var_name }}当您在当前主机上下文中或通过hostvars['other_host']['var_name']其他主机的上下文时,所有这些变量/事实都可以通过名称(例如)访问.