我已在/ inventory / group_vars /目录中为每个组(/ inventory / hosts)放置了group_name.yml文件。 如何让组查找相应的var.yml? 如果变量相同,是否会被 / inventory / group_vars / all 覆盖?
/库存/主机
[group_1]
host_1
host_2
[group_2]
host_3
host_4
/ inventory / group_vars /目录
/inventory/group_vars/host_1.yml
/inventory/group_vars/host_2.yml
/inventory/group_vars/host_3.yml
/inventory/group_vars/host_4.yml
我希望host_1引用/inventory/group_vars/host_1.yml中的变量
答案 0 :(得分:0)
对于主机变量使用host_vars
目录,对于变量使用group_vars
。
在您的情况下,有效路径是:
/inventory/group_vars/all.yml
/inventory/group_vars/group_1.yml
/inventory/group_vars/group_2.yml
/inventory/host_vars/host_1.yml
/inventory/host_vars/host_2.yml
/inventory/host_vars/host_3.yml
/inventory/host_vars/host_4.yml
在Ansible的不同版本中(如果我没记错的话)vars文件按字母顺序或按组嵌套顺序处理,因此您最好先尝试一下。我认为在您的情况下,all.yml
的变量将首先应用,然后从groupN.yml
开始,然后从hostN.yml
开始。