我在清单文件中的单独变量组中使用相同的变量名称。
例如:
###hosts file####
[GROUP1]
var1 127.0.0.1
var2 127.0.0.1
[GROUP2]
var1 127.1.0.1
var2 127.1.0.1
我想知道将我的剧本应用于GROUP2的var1。我该怎么做 ? 例如:
- hosts: GROUP2.var1
become: root
gather_facts: no
remote_user: user
答案 0 :(得分:1)
如果你想在第二组的第一个主机上运行剧本,你可以使用:
- hosts: {{groups.GROUP2[0]}}
become: root
gather_facts: no
remote_user: user
只有一件事是var1也是该主机的主机或变量定义?上面的{{groups.group2[0]}}
将引用主机不变量。如果要在任何任务中使用该变量,请使用{{ hostvars[groups['GROUP2'][0]].var1 }}
。
同样在主机文件中,正确定义变量和主机的方式将是第一个主机,然后是变量。
[GROUP1]
127.0.0.1 var1=something
127.0.0.1 var2=something2
......