以下是要安装的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/

10-11 12:08