在我的 hosts 文件中,我有GroupA
和GroupB
。GroupB 的配置包含一些敏感数据,因此我group_vars/GroupB.yml
使用 Ansible Vault 创建并加密了它。
我有一个剧本hosts: GroupA
。当我运行剧本时,Ansible 失败了,因为我没有提供密码group_vars/GroupB.yml
。但GroupB
从未在任何地方调用过,那么为什么它会尝试解密该文件?我可能忽略了什么或误解了什么——或者这实际上是预期的行为?
答案1
Ansible 在执行之前会读取整个清单和组变量,因此即使 GroupB 中没有主机,仍然需要解密变量。
如果您不喜欢输入保险库通行证,您可以传递包含它的文件路径。