概述
官方文档:https://helm.sh/zh/docs/
GitHub地址:https://github.com/helm/helm/releases
Helm 是一个用于管理 Kubernetes 应用程序的 包管理工具,由 CNCF(云原生计算基金会)孵化,旨在简化 Kubernetes 应用的部署、升级、回滚和管理。它通过定义、安装和更新复杂的 Kubernetes 应用程序,帮助开发人员和运维团队更高效地管理容器化应用在 Kubernetes 集群中的生命周期。
Helm 通过 “包” 的形式(称为 Chart)封装复杂的 K8s 资源,让开发者和运维人员可以更高效地部署、升级、回滚应用,类似 Linux 系统中的 apt/yum,或前端领域的 npm。
Helm的作用
简化应用部署
- 通过编写 Chart 定义应用的 Kubernetes 资源,避免手动编写大量 YAML 文件。
- 支持参数化配置(通过 values.yaml 文件),可灵活适配不同环境(开发、测试、生产)。
版本管理与回滚
- 每个 Release 都有版本记录,支持一键回滚到历史版本。
- 示例命令:helm rollback my-release-2(回滚到第 2 个版本)。
依赖管理
支持通过 Chart.yaml 声明依赖的其他 Chart(如 Web 应用依赖 Redis Chart),自动下载并部署依赖项。
资源管理
查看、升级、删除 Release,以及检查状态(如 helm status my-release)。
Helm中的三大概念
Chart
Chart 代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等价物。
Repository
Repository(仓库) 是用来存放和共享 charts 的地方。它就像 Perl 的 CPAN 档案库网络 或是 Fedora 的 软件包仓库,只不过它是供 Kubernetes 包所使用的。
学过Docker也可以理解成Docker仓库
Release
Release 是运行在 Kubernetes 集群中的 chart 的实例。一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release。以 MySQL chart为例,如果你想在你的集群中运行两个数据库,你可以安装该chart两次。每一个数据库都会拥有它自己的 release 和 release name。
Helm 安装 charts 到 Kubernetes 集群中,每次安装都会创建一个新的 release。你可以在 Helm 的 chart repositories 中寻找新的 chart。
安装Helm
- cd /usr/local
- wget https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz
- tar -xvf helm-v3.15.2-linux-amd64.tar.gz
- cp /usr/local/linux-amd64/helm /usr/local/bin/
复制代码 验证是否安装成功- [root@master ~/probe]# helm version
- version.BuildInfo{Version:"v3.13.2", GitCommit:"2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243", GitTreeState:"clean", GoVersion:"go1.20.10"}
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |