如何使用文件升级 Helm Chart 部署

Vik*_*ore 2 kubernetes kubernetes-helm

以下是要安装的 Helm 代码

helm install coreos/kube-prometheus --name kube-prometheum --namespace monitoring -f kube-prometheus.yml
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我们可以使用 kube-prometheus.yml 中存在的值覆盖 value.yml 值。

有什么方法可以让我们先安装然后从 kube-prometheus.yml 文件更新 value.yml 吗?

helm upgrade releasename kube-prometheum直接改value.yml文件就可以使用了。我不想要那个

用例:最初,我在 value.yml 中使用了带有标签 1.0 的图像。现在我在 kube-prometheus.yml 中有以下代码只是为了更新图像标签

prometheusconfigReloader:
image:
 tag: 2.0
Run Code Online (Sandbox Code Playgroud)

而不是删除并重新创建。我想升级它。这只是举例,可能有多个值。这就是为什么我不能使用-set。

Rya*_*son 5

因此,您首先helm install coreos/kube-prometheus --name kube-prometheum --namespace monitoring -f kube-prometheus.yml将值文件设置为指向图像的 1.0 来运行:

prometheusconfigReloader:
image:
 tag: 1.0
Run Code Online (Sandbox Code Playgroud)

然后,您更改值文件或创建一个新的值文件,甚至创建一个包含以下内容的新值文件:

prometheusconfigReloader:
image:
 tag: 2.0
Run Code Online (Sandbox Code Playgroud)

假设这个文件名为 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文档“优先级将赋予最后一个(最右边)指定的值”。

或者,如果您已经安装并想要找出所使用的值文件包含的内容,那么您可以使用helm get values kube-prometheum