Ansible动态inventory场景下group_vars拆分vars与vault配置是否有效?
问题结论
你当前的Ansible配置无法正常运行,核心问题是group_vars/all/vars中的变量未正确引用vault文件内的加密变量。
问题原因
你当前vars文件中db_username、db_password的值为空字符串,没有和vault文件内的vault_db_username、vault_db_password建立关联,Ansible读取变量时会直接取到空值,不会自动匹配带vault_前缀的变量。
修复方案
将group_vars/all/vars的内容修改为如下配置即可:
db_username: "{{ vault_db_username }}" db_password: "{{ vault_db_password }}"
额外注意事项
- 你当前的
group_vars目录结构符合官方最佳实践要求,和你使用的动态inventory不存在冲突,动态inventory会自动加载对应组的group_vars变量,无需额外调整配置 - 运行playbook前需确认
vault文件已经通过ansible-vault encrypt命令完成加密,执行playbook时需加上--ask-vault-pass参数或者指定vault密码文件,否则Ansible无法解密读取vault文件内的变量
内容的提问来源于stack exchange,提问作者Ocean7
相关产品推荐
相关产品推荐

