Helm 3 · Kubernetes 包管理 · Chart 工程化

Helm Kubernetes 包管理

Kubernetes 的 apt/npm——Chart 一键部署复杂应用。掌握 Go 模板引擎、多环境 Values 管理、依赖编排、Hooks 生命周期与生产级 Release 管理。

10 章节
80+ 模板示例
Helm 3 版本
生产 级别

⎈ 为什么需要 Helm?

直接管理 Kubernetes YAML 文件在大型应用中极为痛苦:一个完整的微服务可能需要 Deployment、Service、Ingress、ConfigMap、Secret、HPA、ServiceAccount 等数十个资源文件。Helm 将这些文件打包为 Chart,用 Go 模板实现参数化,用 Release 管理部署历史,真正实现"一条命令部署复杂应用"。

📦
Chart 打包
将复杂 K8s 应用打包为可版本化、可分发的 Chart
🔧
Go 模板
强大的模板引擎,values.yaml 驱动多环境配置
🔄
版本管理
Release 历史记录,一键回滚到任意历史版本
🌐
仓库生态
Artifact Hub 数千现成 Chart,开箱即用
🔗
依赖管理
声明式子 Chart 依赖,Umbrella Chart 组合应用
🪝
Hooks 生命周期
pre/post install/upgrade 钩子,数据库迁移不再烦恼
全部章节
10 章从入门到生产,每章包含完整模板示例与实战练习
01
Helm 简介与快速开始
K8s 部署痛点、Chart/Release/Repository 核心概念、安装 Helm CLI、第一个 Chart 部署
02
Chart 基础结构
helm create 生成 Chart、Chart.yaml 元数据、values.yaml 默认值、templates/ 目录解析
03
Go 模板语法
Values 引用、内置对象、if/else/range/with 控制流、define/include 模板复用
04
Values 管理
values.yaml 层次结构、--set 覆盖、多 values 文件、多环境 dev/prod 配置管理
05
_helpers.tpl 与命名模板
define/include/template 差别、标准 helpers、toYaml | nindent、统一标签模板
06
Chart 依赖管理
dependencies 声明、helm dependency update、条件依赖、Umbrella Chart 组合架构
07
Hooks 生命周期
pre/post install/upgrade/delete Hook 类型、权重与顺序、数据库迁移 Job、helm test
08
Release 管理
helm list/status/history、upgrade --install 幂等部署、--atomic 失败回滚、rollback
09
OCI 注册表与仓库
Chart Museum、OCI 推送/拉取、GitHub Container Registry、Artifact Hub 发布、版本策略
10
生产最佳实践
values schema 验证、helm lint/template、ct CI 验证、安全扫描、ArgoCD 集成、企业架构

🛠️ 学习路径建议

建议按章节顺序学习。第 1-2 章建立 Helm 基础概念,第 3-5 章深入模板引擎,第 6-7 章掌握高级特性,第 8-10 章进入工程化与生产实践。

helm install helm upgrade Go Template values.yaml Chart Museum Artifact Hub helm lint ArgoCD