用途:在 template-ts 项目中处理 Kubernetes 或 Helm 变更时使用,统一测试与生产环境的 Helm 配置模式。
适用场景:更新 Helm values 文件;新增或修改环境变量;配置资源、探针、Ingress、安全、Job 或 CronJob;处理 Kubernetes 密钥、命名空间、Pod 与环境 URL。
工作流程:在 kubernetes/helm/ 下定位目标 chart,除非变更仅针对特定环境,否则同时编辑 values.test.yaml 与 values.prod.yaml。非敏感变量放入 extraEnvVars 并直接赋值,条目按字母排序;敏感变量使用 valueFrom.secretKeyRef,禁止在 values 文件中内联密钥。hook/job 密钥通过 chart values 键 hooks.secretName(位于 values.*.yaml)定义,再在 hook 模板(如迁移/同步 Job)中引用。若仓库使用本地 env 文件,需在 .env.example 与 .env 中同步新变量并给出安全占位默认值。部署前检查 chart 特定的密钥命名与命名空间约定。
运行时检查:仅在满足前置条件后使用 k8s-tool;它是 kubectl 的项目封装,提供环境快捷方式,需要已安装 CLI 及有效的 kubeconfig/集群访问权限。
参考材料:references/chart-structure.md 与 references/helm-examples.md 提供具体片段与 YAML 示例。
关键规则:extraEnvVars 保持字母排序;绝不提交密钥,使用带 secretKeyRef 的 K8s 密钥;测试 values 更保守,资源低于生产;探针路径使用 /api/alive 作 liveness、/api/health 作 readiness;CronJob 需设置 concurrencyPolicy: Forbid 防止重叠。