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

如何基于现有Kubernetes manifest构建Helm chart并自动生成values.yaml

解决方案

你不需要逐个手动修改每个Chart,有成熟的工具可以直接实现你需要的自动转换效果,两种常用路径可选:

方案1:直接用kompose生成Helm Chart

kompose本身自带生成Helm Chart的能力,不需要先转成K8s Manifest再二次修改,直接在docker-compose.yml所在目录执行以下命令即可:

kompose convert -c

执行后会直接输出完整的Helm Chart目录结构:

  • 自动生成templates目录下的所有资源模板(Deployment、Service、ConfigMap等)
  • 自动生成默认values.yaml,常用可配置字段(镜像地址、服务名、端口、资源限额、环境变量等)已经提前抽成变量,和你期望的效果一致。

方案2:已有K8s Manifest的情况下用helmify转换

如果你已经用kompose生成了固定的Manifest文件,不需要重新转换,可以用helmify工具直接批量转成Helm Chart:

  1. 先安装helmify,直接下载对应系统二进制包或者通过Go安装均可
  2. 所有Manifest放在同一目录下,执行命令:
cat *.yaml | helmify <你的Chart名称>

转换完成后会自动生成符合要求的Chart:

  • 所有固定值会自动提取到values.yaml中
  • templates下的资源文件对应位置会自动替换为{{ .Values.xxx }}格式的模板变量,完全匹配你举的示例效果。

补充优化建议

你贴出的Deployment用以上两种方式处理后,输出的模板文件和values.yaml和你期望的结果完全一致,不需要手动修改任何字段。转换完成后你只需要根据实际需求做少量调整即可使用:

  • 删除不需要可配置的变量,改回固定值即可
  • 可统一添加Ingress、存储卷、节点亲和性等通用配置的变量,一次调整全服务生效
  • 10个微服务的场景下可以进一步封装通用子Chart,所有业务服务仅需维护单独的values.yaml,后续维护效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 19:21:02