我正在尝试使用Ansible自动创建HA集群。
通常我有两个选项来安装负载平衡器(MetalLb),manifest或helm。
我真的很喜欢helm
有一个--values
选项。这很有用,因为我可以为MetalLB扬声器添加容差,这样我就可以在不想部署作业的节点上部署它们。
当使剧本,我想有一种方法来部署金属LB扬声器与宽容,使他们可以得到部署,但我不想安装在其中一个节点的 Helm 。
在运行剧本时,我可以下载清单文件https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml,但现在我希望能够添加容差。如果不下载yaml文件并自己编辑它,我如何才能完成此操作?helm中类似--values
选项的选项会很好
1条答案
按热度按时间tf7tbtn21#
https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/给出了kustomize如何工作的总体思路:取一些基础,对它们应用一些转换。在大多数情况下,策略合并的行为就像人们期望的那样,这就是您提到的
kubectl patch
的行为1。但是,在合并中处理数组值是棘手的,所以我更幸运地使用了JSON Patch array add支持,这就是我们在这里使用的然后,使用
kubectl kustomize .
,我们看到应用该补丁的结果:显然,如果您想大规模地替换容忍度,您可能会更好地选择战略合并,但考虑到您的问题没有具体说明,并且这种情况是两种情况中较难的一种,我从它开始
FN 1:我看到您提到了
kubectl patch
,但它是用于编辑现有kubernetes资源的,因此在您将metallb-native.yaml部署到集群中之后,kubectl patch
才会为您做任何事情。使用kustomize
是一种替代方法,因为它旨在让清单以正确的状态进入集群,而不是稍后再修复它