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

标签 kubernetes kubernetes-helm

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

相关文章:

azure - 如何在 velero 部署上运行 helm 升级?

kubernetes - 在Helm File下使用Kubernetes secret

kubernetes - 为什么kubectl描述 secret 不起作用?

nginx - 阻止 ingress-nginx 负载均衡器上的特定路径

kubernetes - Proxmox lxc 添加添加 linux.kernel_modules

docker - 如何使用 docker 实现零成本和安全部署选项?

go - 如何修复 `can' t 在 helm 中的 _helpers.tpl 中评估类型接口(interface) {}` 中的字段 extraHosts

mongodb - 在集群外使用 StatefulSets 在 Kubernetes 上公开 MongoDB

arrays - YAML 中的二维数组

kubernetes - 如何创建 gcePD 并将其作为持久卷链接到本地​​ k8s 集群?