我有一个单一的角色,它的节点略有不同。我通常执行以下任务/ main.yml:如何轻松访问Ansible中的一组节点?
- include: spark_master.yml
when: spark_master|default(false)|bool
- include: spark_worker.yml
when: spark_worker|default(false)|bool
,比清单文件:
[spark]
192.168.172.101 spark_master=true spark_worker=false
192.168.172.102 spark_master=false spark_worker=true
192.168.172.103 spark_master=false spark_worker=true
但是,如果我需要访问所有的工人在模板中的一些其他的角色我没有一个好的方法来做到这一点。
我在想,我代替实际的主机组条目,这样我可以参考的工人是这样的:
iventory:其他角色
[spark-workers]
node1
node2
模板:
{{ groups['spark-workers'] | map('extract', hostvars, ['ansible_eth0', 'ipv4', 'address']) }}
是有没有更好的方法来访问节点子组而不实际使用库存文件中的不同组?