
(ansible을 처음 접함) 나는 달리고 있다ansible all -m setup
인벤토리 시스템에 대한 JSON 출력을 생성하기 위해 소수의 호스트에서 실행 중입니다. Ansible 원격 중 일부는 다른 서브넷(예: DMZ)에 있습니다. 나는 다음을 포함하고 싶습니다.랜 IPAnsible JSON 출력에서 이러한 호스트와 연결됩니다. 어떻게 해야 하나요?
192.168.1.1
업데이트: 명확히 하기 위해 IP 주소가 어떻게든 사실 출력에 포함되기를 바랍니다 . 필드 ansible_all_ipv4_addresses
와 ansible_default_ipv4
출력에는 10.10.10.1
LAN 관점에서 인벤토리를 보는 사람들에게 도움이 되지 않는 IP 주소가 포함되어 있습니다.
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 출력에 . 다른 사람에게 도움이 될 경우를 대비해 여기에 있습니다.
플레이북을 사용하여 Inventory_hostname을 원격 파일에 어떻게 기록할 수 있습니까?