用途:面向 Kubernetes 的 Helm Chart 工程,负责 Chart 开发、打包与生命周期管理,让 Chart 可复用、可配置并跨环境使用,尽量不改模板即可适配不同环境。
主要能力:Chart 结构包含 Chart.yaml、values.yaml、templates/、charts/ 与 templates/tests/;在 _helpers.tpl 中用命名模板复用标签、选择器、名称与注解;遵循 app.kubernetes.io 系列标签约定;用 include、toYaml | nindent、required、default 等 Go 模板函数;用 helm.sh/hook 与 hook-weight 控制 pre-install、pre-upgrade 等有序操作;在 Chart.yaml 的 dependencies 中配合 condition 管理子 Chart;values 优先级为 Chart 默认值 < 父 Chart values < -f 文件 < --set。常见模式包括多环境 values 文件叠加、initContainer 预执行、ConfigMap 校验和触发重启、library 类型 Chart 共享模板。
使用方式:按需维护 values-dev.yaml、values-staging.yaml、values-prod.yaml,安装常用 helm upgrade --install -f values-prod.yaml;库 Chart 仅含命名模板、不渲染清单。
限制与注意事项:不要在模板中硬编码命名空间,应使用 {{ .Release.Namespace }};CI/CD 中避免不带 --atomic 的 helm install,否则失败发布可能留下需手工清理的资源;不要把密钥直接写进纳入版本控制的 values.yaml,应使用 External Secrets、Sealed Secrets 等外部方案或经 --set 注入;默认 values.yaml 应设置资源 requests 与 limits;values.yaml 中每个值需以注释说明用途、类型与默认值;Chart 变更递增 chart 版本,应用变更递增 appVersion。原文未提供具体安装命令、收费与平台信息。