3. Helm 基础回顾:三大概念与常用命令
在深入 Cilium 网络拓扑下的 Helm Chart 仓库镜像加速之前,有必要系统回顾 Helm 的核心基础。Helm 是 Kubernetes 生态中最流行的包管理工具,其设计围绕三个核心概念展开:Chart、Release 和 Repository。理解这三者的关系,是后续配置镜像加速、管理 Cilium 网络策略的前提。
3.1 Helm 三大核心概念
| 概念 | 定义 | 类比(操作系统) | 在 Cilium 场景中的体现 |
|---|---|---|---|
| Chart | 一个预配置的 Kubernetes 资源包,包含 YAML 模板、默认值文件(values.yaml)和依赖描述。 | 软件安装包(.deb / .rpm) | cilium/cilium Chart 定义了 DaemonSet、ConfigMap、RBAC 等所有 Cilium 组件模板。 |
| Release | Chart 在 Kubernetes 集群中的一次具体部署实例。同一个 Chart 可以部署多次,每次生成一个独立的 Release。 | 运行中的进程实例 | helm install cilium-stable cilium/cilium 会创建一个名为 cilium-stable 的 Release。 |
| Repository | Chart 的存储和分发仓库,通常是一个 HTTP/HTTPS 服务器,提供 index.yaml 索引文件。 | APT / YUM 软件源 | https://helm.cilium.io/ 是 Cilium 官方 Chart 仓库。 |
关键关系: Repository 存储 Chart → Chart 通过 Helm 安装生成 Release → Release 是集群中实际运行的资源集合。
3.2 Helm 安装方式
Helm 支持多种安装方式,推荐使用官方脚本或包管理器进行安装。以下列出主流安装方法:
| 安装方式 | 适用平台 | 命令 / 步骤 |
|---|---|---|
| 官方脚本 | Linux / macOS | curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash |
| Homebrew | macOS / Linux | brew install helm |
| Chocolatey | Windows | choco install kubernetes-helm |
| 二进制下载 | 所有平台 | 从 GitHub Releases 下载对应架构的 tar.gz 并解压至 PATH |
版本验证: 安装完成后执行
helm version,确认客户端版本为 v3.x。Helm v3 移除了 Tiller,架构更简洁,也是本课程使用的版本。
3.3 常用 Helm 命令速查
以下命令是日常管理 Chart 和 Release 的核心操作,按功能分类整理:
3.3.1 仓库管理
helm repo list— 列出已添加的仓库helm repo add [name] [url]— 添加新仓库helm repo update— 更新本地仓库缓存helm repo remove [name]— 移除仓库
3.3.2 Chart 管理
helm search repo [keyword]— 在已添加的仓库中搜索 Charthelm pull [repo/chart] --untar— 下载 Chart 并解压到本地helm show values [repo/chart]— 查看 Chart 的默认 values.yaml
3.3.3 Release 管理
helm install [name] [repo/chart]— 安装 Chart 生成 Releasehelm list— 列出当前命名空间下的所有 Releasehelm upgrade [name] [repo/chart]— 升级 Releasehelm rollback [name] [revision]— 回滚到指定版本helm uninstall [name]— 卸载 Release
注意: 在 Cilium 场景中,
helm upgrade 和 helm rollback 会直接影响网络数据平面。建议在变更前使用 helm get values [name] 导出当前配置,并确保有回滚预案。
3.4 实战:部署一个测试 Chart
以下命令演示了从添加仓库到部署 Release 的完整流程,建议在实验环境中跟随操作:
# 1. 添加 Bitnami 仓库(常用测试仓库)
helm repo add bitnami https://charts.bitnami.com/bitnami
# 2. 更新仓库索引
helm repo update
# 3. 搜索 nginx Chart
helm search repo nginx
# 4. 查看 Chart 默认配置
helm show values bitnami/nginx
# 5. 安装 nginx Release,命名为 my-nginx
helm install my-nginx bitnami/nginx --set service.type=ClusterIP
# 6. 查看 Release 状态
helm list
helm status my-nginx
# 7. 卸载 Release
helm uninstall my-nginx