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 是集群中实际运行的资源集合。
Helm 三大概念关系图 Repository Chart 存储仓库 Chart 模板 + 默认值 Release 运行中实例 helm fetch helm install 操作流程示例 1. helm repo add cilium https://helm.cilium.io/ 2. helm install cilium-net cilium/cilium --version 1.15.0

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] — 在已添加的仓库中搜索 Chart
  • helm pull [repo/chart] --untar — 下载 Chart 并解压到本地
  • helm show values [repo/chart] — 查看 Chart 的默认 values.yaml

3.3.3 Release 管理

  • helm install [name] [repo/chart] — 安装 Chart 生成 Release
  • helm list — 列出当前命名空间下的所有 Release
  • helm upgrade [name] [repo/chart] — 升级 Release
  • helm rollback [name] [revision] — 回滚到指定版本
  • helm uninstall [name] — 卸载 Release
注意: 在 Cilium 场景中,helm upgrade 和 helm rollback 会直接影响网络数据平面。建议在变更前使用 helm get values [name] 导出当前配置,并确保有回滚预案。
Helm 命令工作流 用户 helm repo add helm search helm install Chart 仓库 index.yaml 本地缓存 Chart 模板 K8s 集群 Release

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