我尝试使用Ansible自动zookeeper install。我想在我的cfg
文件中添加一堆行。以下是有5个节点的示例。 zoo1
,zoo2
,zoo3
等我ansible_hosts
文件中的主机。
我想用with_items
实现它,但无法弄明白。知道如何在循环中访问ansible_hosts
文件中的主机名吗?
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
server.4=zoo4:2888:3888
server.5=zoo5:2888:3888
答案 0 :(得分:2)
尝试使用lineinfile模块with_items: groups['<GROUP_NAME>']
(或with_items: groups['all']
,如果您想引用所有已定义的主机。)
答案 1 :(得分:0)
您可以通过在模板中执行循环来自动执行此操作
{% for host in groups['06'] %}
server.{{ loop.index }}={{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}:2888:3888
{% endfor %}