在Ansible中,子组变量无法覆盖父组变量的问题可以通过使用Ansible的变量优先级规则来解决。以下是一种解决方法,其中包含代码示例:
使用group_vars目录结构:
parent_group.yml
。child_group.yml
。示例代码如下:
# group_vars/parent_group.yml
parent_var: "Parent Group Variable"
# group_vars/child_group.yml
child_var: "Child Group Variable"
# inventory文件
[parent_group]
host1
[child_group:children]
parent_group
host2
使用组织变量:
vars
的目录。vars
目录中创建一个名为main.yml
的文件。main.yml
文件中定义父组和子组的变量。示例代码如下:
# vars/main.yml
parent_var: "Parent Group Variable"
child_var: "Child Group Variable"
# inventory文件
[parent_group]
host1
[child_group:children]
parent_group
host2
通过这两种方法,可以确保子组的变量能够覆盖父组的变量。
上一篇:Ansible字符串中的新行
下一篇:Ansible组变量冲突