
(Ansible初心者)ansible all -m setup
在庫システム用のJSON出力を生成するために、いくつかのホストで実行しています。一部のAnsibleリモートは異なるサブネット(DMZなど)にあります。LAN IPAnsible JSON 出力でこれらのホストに関連付けられます。どうすればこれを実行できますか?
192.168.1.1
更新: 明確にするために、 IP アドレスを何らかの方法でファクト出力に含めるようにしたいと思います。出力のansible_all_ipv4_addresses
フィールドとには、 LAN の観点からインベントリを確認する人にとって役に立たない IP アドレスが含まれています。ansible_default_ipv4
10.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
1 つの解決策は、変数を使用してファイルにデータを入力するプレイブックを実行することです"{{inventory_hostname}}"
。setup
実行すると、JSON 出力に が含まれますwhatever.fact
。他の人の役に立つかもしれないので、ここに記載します。
Playbook を使用して inventory_hostname をリモートのファイルに記録するにはどうすればよいですか?