2. Helm 安装与配置:客户端安装、仓库管理、版本选择与环境变量

Helm 作为 Kubernetes 的包管理工具,其安装与配置是使用 Helm 进行资源编排的第一步。本章将系统讲解 Helm 客户端的安装方式、仓库管理操作、版本选择策略以及环境变量配置,帮助读者快速搭建可用的 Helm 工作环境。

2.1 Helm 客户端安装

Helm 采用客户端-服务端架构(Helm 3 已移除 Tiller 服务端),仅需在管理节点安装 Helm 客户端即可。以下是主流操作系统的安装方式:

操作系统 安装方式 命令/步骤
macOS Homebrew brew install helm
Linux (Debian/Ubuntu) APT 仓库 curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install helm
Linux (CentOS/RHEL) YUM 仓库 sudo yum install helm
Windows Chocolatey choco install kubernetes-helm
通用 二进制下载 从 https://github.com/helm/helm/releases 下载对应平台的二进制文件,解压后放入 PATH
验证安装: 安装完成后执行 helm version,输出应显示客户端版本信息,例如 version.BuildInfo{Version:"v3.14.0"}。

2.2 Helm 版本选择策略

Helm 目前主要使用 v3 系列版本(v2 已于 2020 年停止维护)。版本选择需考虑以下因素:

  • Kubernetes 版本兼容性: Helm v3.x 支持 Kubernetes 1.16+,建议使用与集群版本匹配的最新 Helm 小版本。
  • 功能需求: 如需 OCI 镜像仓库支持,选择 Helm v3.8+;如需 Chart 签名验证,选择 Helm v3.6+。
  • 稳定性: 生产环境建议使用最新的 次版本(minor version) 的最后一个补丁版本,例如 v3.14.x。
版本对照表(推荐组合):
Kubernetes 版本 推荐 Helm 版本 说明
1.28 - 1.30 v3.14.x 最新稳定版,支持全部特性
1.25 - 1.27 v3.12.x - v3.13.x 兼容性良好,功能完整
1.22 - 1.24 v3.10.x - v3.11.x 需注意 API 版本变更

2.3 添加与移除 Helm 仓库

Helm 仓库(Repository)是存储 Chart 包的远程索引服务。管理仓库是使用 Helm 安装应用的基础操作。

2.3.1 添加仓库

# 添加官方稳定仓库
helm repo add stable https://charts.helm.sh/stable

# 添加 Bitnami 仓库(常用)
helm repo add bitnami https://charts.bitnami.com/bitnami

# 添加自定义仓库(如 Harbor)
helm repo add myrepo https://myharbor.example.com/chartrepo/library

# 添加后更新本地索引
helm repo update

2.3.2 查看与移除仓库

# 列出所有已添加的仓库
helm repo list

# 移除指定仓库
helm repo remove bitnami

# 仅更新本地缓存索引
helm repo update
注意: 添加仓库后必须执行 helm repo update 才能获取最新的 Chart 列表。如果仓库 URL 变更,需先移除旧仓库再重新添加。

2.4 Helm 环境变量配置

Helm 的行为可以通过环境变量进行定制,以下是最常用的环境变量及其作用:

环境变量 默认值 说明
HELM_CACHE_HOME $HOME/.cache/helm Chart 缓存目录
HELM_CONFIG_HOME $HOME/.config/helm Helm 配置文件目录
HELM_DATA_HOME $HOME/.local/share/helm Helm 数据目录(插件、起始 Chart)
HELM_DRIVER secret 存储后端驱动(secret/configmap/sql)
HELM_NAMESPACE default 默认操作命名空间
HELM_KUBECONTEXT 当前 kubeconfig 上下文 指定 Kubernetes 集群上下文
HELM_DEBUG false 启用调试日志
配置示例: 在 ~/.bashrc 或 ~/.zshrc 中添加以下内容可持久化配置:
export HELM_NAMESPACE=production
export HELM_DRIVER=configmap
export HELM_CACHE_HOME=$HOME/.helm/cache

2.5 Helm 安装与配置流程总览

下图展示了从客户端安装到仓库配置、环境变量设置的完整工作流:

Helm 安装与配置工作流 阶段 1:安装客户端 选择操作系统对应方式 验证 helm version 阶段 2:版本选择 匹配 Kubernetes 版本 选择稳定次版本 阶段 3:仓库管理 helm repo add/remove helm repo update 阶段 4:环境变量配置 HELM_CACHE_HOME / HELM_CONFIG_HOME / HELM_DRIVER / HELM_NAMESPACE 阶段 5:验证环境 helm repo list / helm env / helm version ✅ 环境就绪 💡 提示 所有阶段可并行或 按需独立执行

2.6 常见问题与避坑指南

  • 仓库添加后搜索不到 Chart: 忘记执行 helm repo update,导致本地索引为空。
  • helm version 报错: 检查 KUBECONFIG 环境变量是否正确指向集群配置文件。
  • Windows 路径问题: 使用 Git Bash 或 WSL 时,注意路径分隔符使用 / 而非 \。
  • 多集群管理: 通过 HELM_KUBECONTEXT 环境变量或 --kube-context 参数切换集群上下文。
快速验证脚本: 执行以下命令确认 Helm 环境配置正确:
# 检查 Helm 版本
helm version --short

# 列出已添加仓库
helm repo list

# 查看当前环境变量
helm env

# 搜索一个 Chart 验证仓库可用
helm search repo bitnami/nginx