能否在values.yaml文件中嵌入脚本获取Chart.yaml版本?
解决values.yaml无法嵌入脚本获取Chart.yaml版本的方案
方案一:通过helm命令行传递版本参数
安装或升级Chart时,用--set直接注入从Chart.yaml读取到的版本号:helm install my-release ./my-chart --set my-component.config.projectVersion=$(yq eval '.version' ./my-chart/Chart.yaml)这里借助
yq工具读取Chart.yaml里的version字段,再传递到values对应配置项中。方案二:预生成带版本的自定义values文件
写简单脚本读取版本并生成包含该版本的values文件:# 生成自定义values文件 cat > custom-values.yaml <<EOF my-component: config: projectVersion: $(yq eval '.version' ./my-chart/Chart.yaml) EOF安装时指定这个文件即可:
helm install my-release ./my-chart -f custom-values.yaml方案三:在模板文件中直接引用版本
若允许修改模板,可在模板(如Deployment、ConfigMap)里直接用helm内置变量调用Chart版本,无需改动values.yaml:# 示例:在ConfigMap模板中引用版本 data: projectVersion: {{ .Chart.Version }}
提示:values.yaml是静态配置文件,不支持模板语法或脚本嵌入,只有模板文件夹下的文件才会被helm渲染处理。
内容的提问来源于stack exchange,提问作者Narjess
相关产品推荐
相关产品推荐

