一、网站简介
Helm 是 Kubernetes 生态中的「应用包管理器」,类比 Linux 中的 apt/yum。它将一组相关的 K8s 资源(Deployment、Service、ConfigMap 等)打包成 Chart,支持版本化、可复现的一键安装、升级和回滚。Helm 官网提供 CLI 工具下载、Chart 仓库索引和详细开发文档,是管理复杂 K8s 应用的标准方案。
二、公司背景
Helm 由 Deis(后被微软收购)团队于 2015 年创建,2018 年加入 CNCF 成为孵化项目,2020 年毕业晋升为顶级项目。目前由 Helm 社区维护,核心贡献者来自微软、VMware、阿里云等企业。Helm v3 于 2019 年发布,移除了服务端组件 Tiller,采用纯客户端架构,安全性大幅提升。
三、核心功能
- Chart 打包与分发:使用 helm package 命令将应用定义打包为 .tgz 文件,可推送到 OCI 兼容的镜像仓库(如 Docker Hub、Harbor)进行分发。
- 模板引擎:基于 Go Template 语法,Chart 中的 values.yaml 文件可注入环境差异化配置,一套 Chart 适配开发/测试/生产多套环境。
- 版本化发布管理:每次 helm install/upgrade 都会创建新的 Release 版本,支持 helm rollback 一键回退,可配置历史版本保留数量。
- 依赖管理:Chart.yaml 中声明子 Chart 依赖,helm dependency update 自动下载,轻松部署 WordPress(依赖 MySQL Chart)等复合应用。
- Artifact Hub 集成:通过 artifacthub.io 搜索社区贡献的海量 Chart,覆盖数据库、消息队列、监控工具等各类中间件。
- Hook 机制:支持 pre-install、post-upgrade 等生命周期钩子,可在应用部署前后执行 Job 完成数据库迁移等初始化任务。
四、网站特点
- K8s 部署标准化:将分散的 YAML 文件统一管理为 Chart,消灭「我的 YAML 和你不一样」的团队协作痛点。
- 纯客户端架构(v3):不再依赖集群内 Tiller 组件,直接调用 K8s API,权限模型更透明、更安全。
- OCI 支持:v3.8+ 版本支持将 Chart 存储为 OCI 制品,与现有镜像仓库基础设施统一,无需维护额外 Chart 仓库。
- 庞大的 Chart 生态:Artifact Hub 收录数千个 Chart,从 Prometheus 到 GitLab 均可一行命令完成部署。
五、适用人群
- Kubernetes 运维工程师:将公司内部中间件(Redis、Kafka 等)封装为标准化 Chart,实现自助式部署。
- 应用开发者:在开发环境中使用 Helm 快速拉起全套依赖服务,无需手动编写冗长的 YAML 文件。
- DevOps/SRE 团队:在 CI/CD 流水线中集成 helm upgrade,实现 Git 提交→自动部署的 GitOps 闭环。
- 开源项目作者:通过 Helm Chart 分发项目,降低用户部署门槛,提升项目采用率。
六、应用场景
- 微服务全家桶一键部署:将 API 网关、注册中心、配置中心的 Chart 整合为 Umbrella Chart,新环境部署从半天缩短到 5 分钟。
- 多环境差异化配置:开发/测试/生产三套 values.yaml,同一 Chart 渲染出不同副本数、资源限制和域名配置。
- 蓝绿/金丝雀发布:利用 Helm 模板和 Hook,自定义编排流量切换步骤,实现平稳的应用升级。
- ISV 软件交付:商业软件厂商将产品打包为 Helm Chart,客户在自己的 K8s 集群中一行命令即可完成私有化部署。
七、常见问题(FAQ)
Q:国内能否直接访问 Helm 官网?
A:可以。Helm 官网(helm.sh)在国内网络环境下可直接访问和下载二进制文件。Artifact Hub(artifacthub.io)同样可在国内正常访问。若下载速度慢,可使用国内镜像站点或通过代理加速。
Q:Helm v2 和 v3 有什么区别?
A:Helm v3 移除了服务端 Tiller 组件,所有操作通过 kubectl 上下文直接使用 K8s API;Release 名称从集群级别改为命名空间级别隔离;Chart 依赖管理从 requirements.yaml 迁移到 Chart.yaml 内声明。强烈建议新项目直接使用 v3。
Q:Helm Chart 如何保证安全性?
A:建议只从官方仓库或 Artifact Hub 上的验证发布者安装 Chart;安装前使用 helm template 预览生成的 K8s 资源;使用 –dry-run 和 –debug 参数检查安装过程。
Q:Helm 和 Kustomize 有什么区别?
A:Helm 使用模板引擎生成 YAML,适合需要参数化的复杂部署;Kustomize 是无模板的声明式配置管理,直接对原始 YAML 进行 patch 叠加。两者各有优势,很多团队两者并用。
八、类似网站
- Kustomize(kustomize.io):K8s 原生配置管理工具,通过 overlay 机制实现多环境差异化,已集成到 kubectl 中。
- Artifact Hub(artifacthub.io):CNCF 维护的云原生制品搜索平台,聚合 Helm Chart、Falco 规则等多种制品。
- Kompose(kompose.io):将 Docker Compose 文件一键转换为 Helm Chart 或 K8s YAML,适合从 Docker 迁移的场景。
数据统计
数据评估
本站Eyosc Nav提供的Helm都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由Eyosc Nav实际控制,在2026-05-26 19:20收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,Eyosc Nav不承担任何责任。



