我使用ansible通过本地计算机上的kubectl命令将作业/配置发送到我的k8s群集。我有我的库存文件设置,以便每个群集都是它自己的组,每个群集基本上都是与localhost的连接。
# Inventory File
#
[east.k.example.com]
localhost ansible_connection=local
[east2.k.example.com]
localhost ansible_connection=local
然后在我的group_vars目录中,我的库存文件中有一个不同的文件,其中包含我的组名,该文件包含每个群集的所有不同变量。
我将运行限制为仅使用limit选项定位一个群集:
ansible-playbook -vv create.yaml -l east2.k.example.com --tags ingress-generate-only
问题在于,当我尝试在模板中使用变量时,我会从其他组中获取变量。我在想,因为每个组都包含localhost。
有没有更好的方法来解决这个问题?我可以设置一个标志,以便组只包含group_var文件中的变量吗?
感谢,
答案 0 :(得分:4)
重构您的广告资源以使用不同的名称:
bank.Accounts.Add(new Account(Guid.NewGuid(), 343, "Checkings"));
这样Ansible会将它们视为不同的主机,因此不会合并来自不同组的变量。