You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible全局group_vars/all.yml优先级不符合预期,inventory级组变量无法覆盖全局变量的问题求助

Ansible全局group_vars/all.yml优先级不符合预期,inventory级组变量无法覆盖全局变量的问题求助

大家好,我在Mac(M1芯片)上用Homebrew安装的Python 3.12.4搭配Ansible 2.16.8,最近遇到一个变量优先级的问题,折腾了好久都没搞明白,来求助各位!

我的需求是:设置一个全局的group_vars/all.yml作为默认变量值,当需要的时候,用对应inventory目录下的inventory/x/group_vars/all.yml里的变量去覆盖全局默认值。但实际测试下来,全局的变量反而覆盖了inventory级的特定值,完全和预期相反。

下面是我的配置文件和测试过程:

配置文件

全局group_vars/all.yml

# group_vars/all.yml
level: global all

inventory/x/group_vars/all.yml

# inventory/x/group_vars/all.yml
level: inventory all

inventory/x/group_vars/test.yml

# inventory/x/group_vars/test.yml
level: inventory group

执行命令

我运行了这条debug命令来查看变量值:

ansible all -i inventory/x -m debug -a "var=level" -o

实际输出

test-host | SUCCESS => { "changed": false, "level": "inventory group" }
non-test-host | SUCCESS => { "changed": false, "level": "global all" }

预期结果

我本来以为non-test-host应该读取inventory/x/group_vars/all.yml里的inventory all,但实际它用的是全局的global all,这明显不符合预期。有没有大佬能帮我看看哪里配置错了?

备注:内容来源于stack exchange,提问作者Panduar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:23:10