ansible - 哪个文件分组主机在group_vars目录中查找?

时间:2017-08-10 08:14:11

标签: ansible ansible-inventory

我已在/ 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中的变量

1 个答案:

答案 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开始。