我使用 ansible 通过本地机器上的 kubectl 命令将作业/配置发送到我的 k8s 集群。我有我的清单文件设置,所以每个集群都是它自己的组,每个集群基本上是到 localhost 的连接。
# Inventory File
#
[east.k.example.com]
localhost ansible_connection=local
[east2.k.example.com]
localhost ansible_connection=local
Run Code Online (Sandbox Code Playgroud)
然后在我的 group_vars 目录中,我有一个不同的文件,我的组名来自我的清单文件,该文件包含每个集群的所有不同变量。
我使用 limit 选项将运行限制为仅针对一个集群:
ansible-playbook -vv create.yaml -l east2.k.example.com --tags ingress-generate-only
问题是,当我尝试在模板中使用变量时,我会从其他组中获取变量。我在想是因为每个组都包含本地主机。
有没有更好的方法来解决这个问题?我可以设置一个标志,以便组只包含 group_var 文件中的变量吗?
谢谢,