#apache-zookeeper #ansible
#apache-zookeeper #ansible
Вопрос:
Я пытаюсь автоматизировать установку zookeeper с помощью Ansible. Я хочу добавить кучу строк в свой 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
Ответ №1:
Попробуйте использовать модуль with_items: groups['<GROUP_NAME>']
lineinfile (или with_items: groups['all']
, если вы хотите ссылаться на все определенные хосты).
Комментарии:
1. Это верно. Подробнее об этом читайте в документах
Ответ №2:
вы можете автоматизировать это, выполнив цикл в шаблоне
{% for host in groups['06'] %}
server.{{ loop.index }}={{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}:2888:3888
{% endfor %}