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=productionexport HELM_DRIVER=configmapexport HELM_CACHE_HOME=$HOME/.helm/cache
2.5 Helm 安装与配置流程总览
下图展示了从客户端安装到仓库配置、环境变量设置的完整工作流:
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