You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Helm Upgrade为所有Deployment统一设置appVersion参数?

解决方案

你可以通过以下几种方式实现一次性给所有Deployment设置appVersion参数:

方法1:使用全局默认值(推荐)

修改Deployment模板中的image标签,优先使用每个服务自身的appVersion(如果后续在values.yaml中定义了),否则使用全局传入的appVersion:

{{- range $index, $service := .Values.services}}
---
...
    spec:
       containers:
       - name: productcontainer
         image: {{ $service.imageRegistryHost }}/{{ $service.productCode }}/{{ $service.name }}:{{ default $.Values.appVersion $service.appVersion }}
...
{{- end }}

执行升级命令时,直接传入全局的appVersion即可:

helm upgrade <release-name> <chart-name> --set appVersion=<my version>

如果某个服务需要单独指定版本,也可以覆盖全局值:

helm upgrade <release-name> <chart-name> --set appVersion=v1.0.0 --set services.firstservice.appVersion=v1.0.1

方法2:强制使用全局版本

如果不需要给单个服务单独设置版本,直接在模板中引用全局的$.Values.appVersion:

{{- range $index, $service := .Values.services}}
---
...
    spec:
       containers:
       - name: productcontainer
         image: {{ $service.imageRegistryHost }}/{{ $service.productCode }}/{{ $service.name }}:{{ $.Values.appVersion }}
...
{{- end }}

升级命令与方法1一致:

helm upgrade <release-name> <chart-name> --set appVersion=<my version>

方法3:批量设置所有服务的appVersion

如果希望保持模板中使用$service.appVersion的写法,可以通过--set逐个指定每个服务的版本(适合服务数量较少的场景):

helm upgrade <release-name> <chart-name> --set services.firstservice.appVersion=<my version>,services.secondservice.appVersion=<my version>

内容的提问来源于stack exchange,提问作者komito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:42:41