首页 > 解决方案 > Ansible Jinja 模板变量主机组

问题描述

我使用此模板获取名为 [web] 的主机组中的 IP 列表

{% for h in groups['web'] %} ssh -i ~/ansible_users_keys/{{ new_user_name_global }}_id_rsa {{ new_user_name_global }}@{{ hostvars[h].ansible_nodename }} {% endfor %}

如果我运行此命令,有人可以提示我应该使用哪个变量来代替 [web] 吗?

ansible-playbook -i hosts server.yml --limit web

提前致谢

标签: templatesansiblejinja2

解决方案


' ansible_play_batch ' 是具有适用于当前播放的主机名列表的变量。

{% for h in ansible_play_batch %}
ssh -i ~/ansible_users_keys/{{ new_user_name_global }}_id_rsa {{ new_user_name_global }}@{{ hostvars[h].ansible_host }}
{% endfor %}

推荐阅读