用途:为开发生产级 Helm Chart 提供指导,覆盖 Chart 结构、模板模式、多环境配置、依赖管理、测试策略与分发工作流,用于打包和部署 Kubernetes 应用;适用于创建可复用 Chart、构建应用目录与 Chart 仓库、管理多环境(dev、staging、production)部署、实现条件与循环等高级模板、管理依赖与子 Chart、使用 Hook 做生命周期管理、测试与校验模板、打包并通过仓库分发,以及用 Helmfile 做多 Chart 编排。
主要能力与关键文件:区分 Application Chart(可直接部署)与 Library Chart(可复用模板辅助,不能直接安装)。关键文件包括 Chart.yaml(元数据、版本、依赖)、values.yaml(默认配置)、values.schema.json(输入校验)、templates/_helpers.tpl(可复用模板函数)、templates/*.yaml(Kubernetes 清单)。模板要点:字符串加引号 {{ .Values.name | quote }};正确缩进 {{- toYaml . | nindent 4 }};使用辅助函数 {{ include "my-app.fullname" . }};判空 {{- if .Values.optional }}。
工作流:结构(创建含 Chart.yaml 与 values.yaml 的目录)、模板(用 Go 模板编写清单)、辅助(抽取公共模式到 _helpers.tpl)、校验(用 values.schema.json)、测试(lint、template、chart tests)、打包(生成 .tgz 并发布到仓库)。
常用命令:helm create my-app;helm lint ./my-app;helm template my-app ./my-app;helm dependency update;helm dependency list;helm install my-app ./my-app --dry-run --debug;helm test my-app;helm package ./my-app;helm repo index . --url https://charts.example.com;helm push my-app-1.0.0.tgz oci://registry.example.com/charts。
限制与参考:常见错误包括未给字符串加引号、未用 nindent 导致 YAML 格式错误、把密钥提交进 values、缺少安全上下文(runAsNonRoot、drop capabilities)、未固定依赖版本、跳过 values.schema.json 校验、未测试从旧版本升级。参考资料为 Helm 文档、Chart Template Guide、Best Practices、Helmfile、Chart Testing;具体收费、支持平台等信息暂未提供。