
(ansible新手)我正在跑步ansible all -m setup
在一些主機上運行,為我們的庫存系統產生 JSON 輸出。我們的一些 ansible 遙控器位於不同的子網路中(例如 DMZ)。我想包括區域網路IP在 ansible JSON 輸出中與這些主機關聯。我怎樣才能做到這一點?
更新:為了澄清,我希望192.168.1.1
IP 位址以某種方式出現在事實輸出中。此ansible_all_ipv4_addresses
欄位和ansible_default_ipv4
輸出中包含的10.10.10.1
IP 位址對於從 LAN 角度查看清單的人員來說沒有幫助。
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 記錄到遠端檔案?