如何访问Ansible模板中所有节点的eth0 ip地址?

如何访问Ansible模板中所有节点的eth0 ip地址?,ansible,Ansible,当前解决方案依赖于组中每个节点的主机名: "{{ groups['zookeeper']|join(':2181,') }}:2181" 这将生成一个字符串:hostname1:2181、hostname2:2181或类似的内容。我想使用eth0上的内部IP地址,而不是主机名。是否有类似的方法以类似的方式访问所有eth0 ip地址?解决方案是使用映射提取访问HostVar: kafka_zk_string: "{{ groups['zookeeper'] | map('extract', ho

当前解决方案依赖于组中每个节点的主机名:

"{{ groups['zookeeper']|join(':2181,') }}:2181"

这将生成一个字符串:hostname1:2181、hostname2:2181或类似的内容。我想使用eth0上的内部IP地址,而不是主机名。是否有类似的方法以类似的方式访问所有eth0 ip地址?

解决方案是使用映射提取访问HostVar:

kafka_zk_string: "{{ groups['zookeeper'] | map('extract', hostvars, ['ansible_eth0', 'ipv4', 'address']) |join(':2181,') }}:2181"