九章智算云

Helm 入门

Helm 是 Kubernetes 的包管理工具,类似 Linux 上的 apt / yum / Homebrew。它通过 Chart(一种打包格式)定义、安装和升级 Kubernetes 应用。

核心概念

  • Chart

    Helm 的打包格式,包含部署 Kubernetes 应用所需的全部资源定义(Deployment、Service、ConfigMap 等),类似 .deb / .rpm 包。

  • Repository

    Chart 的存储库,公共或私有的 Helm 仓库。

  • Release

    在 Kubernetes 集群中运行的 Chart 实例,每次 helm install 都会创建一个新的 Release。

  • Values

    通过 values.yaml 或命令行参数配置 Chart。

主要功能

  • 应用部署:通过 Chart 快速部署复杂应用,支持一键安装 / 卸载。
  • 版本管理:版本控制和回滚。
  • 依赖管理:Chart 之间可以依赖。
  • 配置管理:通过 values.yaml 动态配置。
  • 模板化:使用 Go template 动态生成 Kubernetes 资源文件。

安装 helm-cli

  1. 访问 Helm Releases,国内网络受限可用 备用镜像。选择合适的操作系统版本,直接下载或复制链接:

    Helm 下载链接详情

  2. 通过 curl 下载(或直接点击链接下载到本地)。

    curl -LO 链接地址
    # 如果系统安装了curl工具,可以通过curl下载
    # 打开命令行工具
    curl.exe -LO 链接地址
    
    #如果没有curl工具,也可以直接点击文件链接,下载到本地
  3. 解压下载的压缩包。

    tar -xf 压缩包
  4. 设置路径:

    chmod +x helm
    mv helm /usr/local/bin
    setx PATH "%PATH%;D:\helm"

    其中 D:\helm 替换为解压后的 helm.exe 所在目录。设置环境变量后可能需要打开新的 CMD/PowerShell 窗口才能生效。

  5. 查看结果。

    helm version

常用命令

基本命令

查看版本

helm verison

环境信息

helm env

帮助信息

helm help

Chart 管理

搜索Chart

  • 从 Artifact Hub 或已添加的仓库中搜索 Chart:
helm search hub <keyword>
例如,搜索mysql
helm search hub mysql
  • 从本地仓库搜索 Chart:
helm search repo <keyword>

例如,搜索本地仓库中的mysql:
helm search repo mysql

添加Chart仓库

helm repo add <repo-name> <repo-url>
例如,添加 Bitnami 仓库:
helm repo add bitnami https://charts.bitnami.com/bitnami

更新 Chart 仓库

helm repo update

列出已添加的仓库

helm repo list

移除Chart仓库

helm repo remove <repo-name>

查看Chart信息

helm show chart <chart-name>

下载Chart

helm pull <chart-name>

安装与升级

安装Chart

helm install <release-name> <chart-name>

指定命名空间安装Chart

helm install <release-name> <chart-name> -n <namespace>

使用自定义values文件安装Chart

helm install <release-name> <chart-name> -n <namespace> -f values.yaml

升级Release

helm upgrade <release-name> <chart-name>

回滚Release

helm rollback <release-name> <revision>

查看与删除

列出已安装的Release

helm list

指定命名空间

helm list -n <namespace>

查看Release状态

helm status <release-name>

查看Release历史

helm history <release-name>

删除Release

helm uninstall <release-name>

Chart开发与打包

创建一个新的 Chart

helm create <chart-name>

打包 Chart

helm package <chart-directory>

验证 Chart

helm lint <chart-directory>

推送 Chart 到仓库

helm push <chart-package> <repo-name>

其他常用命令

查看 Helm 模板渲染结果

helm template <release-name> <chart-name>

导出 Release 的 Values

helm get values <release-name>

导出 Release 的 Manifest

helm get manifest <release-name>

清理未使用的 Chart

helm repo remove --purge <repo-name>

最后更新于

这篇文档对你有帮助吗?

目录