华为云 CCE Helm 包管理:用 Chart 简化应用部署

举报
yd_271712367 发表于 2026/11/04 01:25:52 2026/11/04
【摘要】 华为云 CCE Helm 包管理:用 Chart 简化应用部署 前言Helm 是 Kubernetes 的包管理工具,将一组 K8s 资源打包为 Chart,一键安装和管理。本文介绍在华为云 CCE 上使用 Helm 简化应用部署的实践。 Helm 核心概念 ChartChart 是 Helm 的安装包,包含一组 K8s 资源定义和配置模板。一个 Chart 可以描述一个完整应用:部署、服...

华为云 CCE Helm 包管理:用 Chart 简化应用部署

前言

Helm 是 Kubernetes 的包管理工具,将一组 K8s 资源打包为 Chart,一键安装和管理。本文介绍在华为云 CCE 上使用 Helm 简化应用部署的实践。

Helm 核心概念

Chart

Chart 是 Helm 的安装包,包含一组 K8s 资源定义和配置模板。一个 Chart 可以描述一个完整应用:部署、服务、配置、密钥、路由等。

Release

Release 是 Chart 的一次安装实例。同一个 Chart 可以安装多次,每次生成不同的 Release,用名称区分。

Repository

Chart 仓库是存放 Chart 的服务。华为云 SWR 提供私有 Chart 仓库,也可以使用公共仓库如 Bitnami。

Chart 结构

一个标准 Chart 包含以下结构:

Chart 目录:Chart 的根目录。
Chart 配置文件:包含 Chart 名称、版本和描述信息。
values 配置文件:默认配置值,安装时可以覆盖。
templates 目录:K8s 资源模板文件,引用 values 中的值生成最终配置。
模板帮助文件:定义可复用的模板片段。

编写 Chart

模板语法

Helm 使用 Go template 语法,在模板中引用配置值:

引用变量:用双花括号包裹变量名。
条件判断:if else 判断是否渲染某段配置。
循环:range 遍历列表生成多个资源。
管道:将值传递给函数处理,如 default 设置默认值、quote 添加引号。

values 设计

values 设计要点:

分层设计:全局值、镜像值、资源值、服务值分组管理。
合理默认值:提供开箱即用的默认配置。
可覆盖:所有可变配置通过 values 暴露,安装时按需覆盖。

依赖管理

Chart 可以声明依赖其他 Chart。例如应用 Chart 依赖 Redis Chart,安装时自动安装依赖。在依赖配置文件中指定依赖的 Chart 名称、版本和仓库。

安装部署

安装

用 helm install 命令安装 Chart,指定 Release 名称和 Chart 路径。通过 values 参数覆盖默认配置。

升级

修改 values 后用 helm upgrade 命令升级 Release。Helm 计算差异只更新变化的部分,实现滚动升级。

回滚

升级出问题时用 helm rollback 回滚到之前的版本。Helm 保留历史版本记录,可以回滚到任意历史版本。

卸载

用 helm uninstall 命令卸载 Release,删除所有相关 K8s 资源。

在 CCE 上使用

配置 Helm

CCE 集群创建后默认安装 Helm。如果未安装,通过 CCE 控制台的插件管理安装 Helm 组件。

私有仓库

将 SWR 配置为 Helm Chart 仓库,存储和管理私有 Chart。推送 Chart 到 SWR 后,团队其他成员可以拉取安装。

CI/CD 集成

在 DevCloud 流水线中集成 Helm:

构建阶段:打包应用镜像推送到 SWR。
部署阶段:用 Helm 安装或升级 Chart,注入镜像版本。
回滚阶段:部署失败时自动 Helm rollback。

常见问题

问:Helm 和 Kustomize 有什么区别?
答:Helm 是包管理工具,支持模板和配置覆盖。Kustomize 是配置管理工具,通过叠加修改基础配置。Helm 适合分发和复用,Kustomize 适合定制已有配置。

问:如何管理敏感配置?
答:敏感信息不要写在 values 中。使用 K8s Secret 或外部密钥管理,在模板中引用 Secret 名称。

总结

Helm Chart 将 K8s 应用打包为可复用的安装包,简化部署和管理。编写清晰的 Chart 和 values 设计,配合 CCE 和 CI/CD 实现自动化部署。版本管理和一键回滚提升运维效率。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。