4. Helm 安装与配置:Helm v3 安装、添加仓库、常用命令速查
Helm v3 是 Kubernetes 生态中事实上的包管理标准。本章将指导你完成 Helm v3 的安装、仓库配置以及核心命令的速查,为后续实现网络拓扑资源配额策略奠定工具基础。
4.1 Helm v3 安装方式对比
Helm v3 移除了 Tiller 服务端组件,架构更简洁、安全。以下为三种主流安装方式及其适用场景:
| 安装方式 | 命令 / 步骤 | 适用场景 |
|---|---|---|
| 官方脚本(推荐) | curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash |
快速安装,自动检测系统架构 |
| 包管理器 | macOS: brew install helmWindows: choco install kubernetes-helmLinux: snap install helm --classic |
与本地包管理生态集成 |
| 二进制下载 | 从 https://get.helm.sh/helm-v3.x.x-linux-amd64.tar.gz 下载并解压至 /usr/local/bin |
离线环境或 CI/CD 管道 |
版本验证:安装完成后执行
helm version --short,输出应类似 v3.15.0+...etc。确保版本号 ≥ 3.10.0,以支持最新的 OCI 仓库特性。
4.2 添加与管理 Helm 仓库
Helm 仓库(Repository)是 Chart 包的存储与分发中心。添加仓库后,你可以搜索、安装和升级来自不同源的 Chart。
4.2.1 核心仓库操作
| 操作 | 命令示例 | 说明 |
|---|---|---|
| 添加仓库 | helm repo add bitnami https://charts.bitnami.com/bitnami |
将 Bitnami 仓库加入本地索引 |
| 更新仓库 | helm repo update |
拉取所有已添加仓库的最新 Chart 列表 |
| 列出仓库 | helm repo list |
显示已配置的仓库名称与 URL |
| 移除仓库 | helm repo remove bitnami |
从本地索引中删除指定仓库 |
仓库安全提示:仅添加受信任的仓库源(如 Bitnami、官方 Stable、你自己的 OCI 仓库)。添加第三方仓库前,建议使用
helm repo index 验证其 index.yaml 文件完整性。
4.2.2 仓库搜索与 Chart 信息查看
# 搜索所有仓库中的 Chart
helm search repo nginx
# 查看 Chart 的详细信息(版本、依赖、描述)
helm show chart bitnami/nginx
# 查看 Chart 的默认 values 配置
helm show values bitnami/nginx
4.3 Helm 常用命令速查
以下命令覆盖了 Helm 日常使用的核心生命周期,从安装到回滚:
| 命令 | 功能 | 常用参数 |
|---|---|---|
helm install |
安装一个新的 Release | --name my-release --namespace my-ns ./mychart |
helm upgrade |
升级一个已存在的 Release | --install --values custom-values.yaml |
helm rollback |
回滚到指定版本 | my-release 2(回滚到 revision 2) |
helm uninstall |
卸载 Release 并删除相关资源 | --keep-history(保留历史记录) |
helm list |
列出当前命名空间下的所有 Release | --all-namespaces -a |
helm get manifest |
获取 Release 生成的 Kubernetes YAML | my-release |
helm history |
查看 Release 的修订历史 | my-release |
常用组合:在 CI/CD 中,推荐使用
helm upgrade --install --atomic --timeout 5m 实现幂等部署。如果升级失败,--atomic 会自动回滚到上一个稳定版本。
4.4 Helm v3 架构与命令流程
下图展示了 Helm v3 的客户端架构以及从仓库到集群的典型命令流程:
4.5 快速验证:安装一个示例 Chart
完成安装与仓库配置后,建议通过以下步骤验证环境是否就绪:
- 添加 Bitnami 仓库:
helm repo add bitnami https://charts.bitnami.com/bitnami - 更新仓库索引:
helm repo update - 安装 Nginx 测试:
helm install my-nginx bitnami/nginx --namespace default --create-namespace - 查看 Release 状态:
helm list -n default - 卸载测试:
helm uninstall my-nginx -n default
OCI 仓库支持:Helm v3 原生支持 OCI 格式的仓库。添加 OCI 仓库时使用
helm repo add myrepo oci://registry.example.com/helm-charts,无需 helm repo update,直接通过 helm install myrelease myrepo/mychart --version 1.0.0 安装。