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

如何在Helm的values.yaml中通过命令获取配置值?

关于Helm values.yaml中执行外部命令替换字段的问题

首先明确:Helm本身不支持在values.yaml里通过你猜测的command语法直接执行外部命令并填充字段值。你写的那种结构是Kubernetes容器的启动命令配置格式,和Helm的values配置逻辑完全不相关。

Helm作为模板渲染工具,运行在本地客户端时,values.yaml本质是静态配置或通过内置模板函数处理,但没有原生支持在values里直接执行外部命令的能力,只能通过以下两种方式实现你的需求:

方案1:命令行结合--set参数(最常用)

直接用shell命令替换的方式通过--set传递值,这也是官方推荐的方式:

helm install my-release my-chart --set password="$(gcloud secrets versions access latest --secret="bar")"

方案2:启用exec模板函数(有安全风险,不推荐生产用)

如果想通过文件来管理,可以创建一个单独的values文件(比如secrets-values.yaml),使用Helm的exec模板函数执行命令:

password: {{ exec "gcloud" (list "secrets" "versions" "access" "latest" "--secret=bar") | quote }}

然后安装时需要加上--enable-exec参数开启这个功能:

helm install my-release my-chart -f secrets-values.yaml --enable-exec

注意:exec函数默认是禁用的,因为它允许执行任意外部命令,存在安全隐患,官方不建议在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 01:17:04