我怎样才能从管理方面纳入一个可行的事实?

我怎样才能从管理方面纳入一个可行的事实?

(Ansible 新手)我正在ansible all -m setup少数主机上运行,​​为我们的库存系统生成 JSON 输出。我们的一些 Ansible 远程服务器位于不同的子网(例如 DMZ)。我想包括局域网络在 ansible JSON 输出中与这些主机关联。我该怎么做?

更新:澄清一下,我希望192.168.1.1IP 地址以某种方式出现在事实输出中。输出中的ansible_all_ipv4_addresses字段和包含对于从 LAN 角度查看清单的人来说不是有用的 IP 地址。ansible_default_ipv410.10.10.1

192.168.1.0/24       192.168.1.0/24
    LAN ----------------FIREWALL
                         |     |
                         eth0  eth1
                         |     |
                         |     +-------DMZ1---------+
                         |                         |
       host1.org.net   > + eth0:1=192.168.1.1      + 10.10.10.1  > host1.org.net
                         |                         |
       host2.org.net   > + eth0:2=192.168.1.2      + 10.10.10.2  > host2.org.net

答案1

一种解决方案似乎是运行一个剧本,使用/etc/ansible/facts.d/whatever.fact变量填充文件"{{inventory_hostname}}"。运行时setup,它将包含whatever.fact在 JSON 输出中。它在这里,以防它对其他人有帮助: 如何使用 Playbook 将 inventory_hostname 记录到远程文件中?

相关内容