ansible - 分组主机在 group_vars 目录中查找哪个文件?
ansible - which file does grouped host look up in group_vars directory?
我已将每个组 (/inventory/hosts) 的 group_name.yml 个文件放在 /inventory/group_vars/ 目录中。
如何让群组查找其对应的 var.yml?
如果变量相同,它会被 /inventory/group_vars/all 覆盖吗?
/inventory/hosts
[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
中的变量
主机变量使用 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
.
中的变量
我已将每个组 (/inventory/hosts) 的 group_name.yml 个文件放在 /inventory/group_vars/ 目录中。 如何让群组查找其对应的 var.yml? 如果变量相同,它会被 /inventory/group_vars/all 覆盖吗?
/inventory/hosts
[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
中的变量主机变量使用 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
.