下面是要安装的 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-prometheus --namespace reporting -f kube-prometheus.yml
,并将值文件设置为指向镜像的 1.0 :
prometheusconfigReloader:
image:
tag: 1.0
然后您更改值文件或创建一个新的值文件,甚至创建一个包含以下内容的新值文件:
prometheusconfigReloader:
image:
tag: 2.0
假设这个文件名为 kube-prometheus-v2.yml 那么你可以运行:
helm 升级 -f kube-prometheus-v2.yml kube-prometheus coreos/kube-prometheus
或者甚至:
helm 升级 -f kube-prometheus.yml -f kube-prometheus-v2.yml kube-prometheus coreos/kube-prometheus
这是因为两个值文件覆盖都将被覆盖,并且根据 helm upgrade
documentation “优先级将给予指定的最后一个(最右边)值”。
或者,如果您已经安装并想了解所使用的值文件包含什么内容,那么您可以使用 helm get values kube-prometheum
关于kubernetes - 如何使用文件升级 Helm Chart 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092028/