以下是要安装的Helm代码
helm install coreos/kube-prometheus --name kube-prometheum --namespace monitoring -f kube-prometheus.yml
通过这种方式,我们可以使用kube-prometheus.yml中存在的值覆盖value.yml值。
有什么方法可以首先安装,然后从kube-prometheus.yml文件更新value.yml。
直接更改value.yml文件后,可以使用
helm upgrade releasename kube-prometheum
。我不要那个用例:
最初,我在value.yml中使用标签为1.0的图像。现在我在kube-prometheus.yml中有下面的代码只是为了更新图像标签
prometheusconfigReloader:
image:
tag: 2.0
而不是删除并再次创建。我想升级它。仅举例来说,可能有多个值。这就是为什么我不能使用-set的原因。
最佳答案
因此,您首先运行helm install coreos/kube-prometheus --name kube-prometheum --namespace monitoring -f kube-prometheus.yml
,并将您的values文件设置为指向图像的1.0:
prometheusconfigReloader:
image:
tag: 1.0
然后,您可以更改值文件或创建新的值文件,甚至创建包含以下内容的新值文件:
prometheusconfigReloader:
image:
tag: 2.0
假设此文件名为kube-prometheus-v2.yml,然后可以运行:
helm upgrade -f kube-prometheus-v2.yml kube-prometheum coreos/kube-prometheus
甚至:
helm upgrade -f kube-prometheus.yml -f kube-prometheus-v2.yml kube-prometheum coreos/kube-prometheus
这是因为两个值文件覆盖都将被覆盖,并且根据
helm upgrade
documentation“将为指定的最后一个(最右边的)值提供优先级”。或者,如果您已经安装并且想要找出所使用的值文件,那么可以使用
helm get values kube-prometheum
关于kubernetes - 如何使用文件升级 Helm 图部署,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54092028/