3 minutes reading time
今天我来简单介绍 kubernetes 生态中一个重要一环-包管理工具 Helm。
Helm 是 Kubernetes 的开源包管理器。它提供了提供、共享和使用为 Kubernetes 构建的软件的能力。
Helm 于 2015 年在 Deis 创建,后来被微软收购。现在称为 Helm Classic 的是在当年 11 月的首届 KubeCon 上推出的。2016 年 1 月,Helm Classic 与谷歌的 Kubernetes 部署管理器合并到现在是 Helm 主要项目的存储库中。
该项目目前拥有超过 30,000 个 GitHub stars,每月从全球获得超过 200 万次下载。2020 年 4 月,Helm 在 CNCF 中获得毕业。
1 打开 https://github.com/helm/helm/releases , 下载你需要的版本 2 解压安装包 3 将文件夹中的 helm 二进制文件移动到相应的位置
helm 官方提供了一个安装的脚本:
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
除了以上2种安装方式,你还可以通过各个操作系统的包管理工具安装和编译源码安装,这里就不过多赘述了。
不同版本的 Helm 兼容不同的 k8s 版本,需要根据你的集群版本来选择不同的 Helm 版本,下面列出相应的关系:
Helm版本 支持的 Kubernetes 版本
3.11.x 1.26.x - 1.23.x
3.10.x 1.25.x - 1.22.x
3.9.x 1.24.x - 1.21.x
3.8.x 1.23.x - 1.20.x
3.7.x 1.22.x - 1.19.x
3.6.x 1.21.x - 1.18.x
3.5.x 1.20.x - 1.17.x
3.4.x 1.19.x - 1.16.x
3.3.x 1.18.x - 1.15.x
3.2.x 1.18.x - 1.15.x
3.1.x 1.17.x - 1.14.x
3.0.x 1.16.x - 1.13.x
2.16.x 1.16.x - 1.15.x
2.15.x 1.15.x - 1.14.x
2.14.x 1.14.x - 1.13.x
2.13.x 1.13.x - 1.12.x
2.12.x 1.12.x - 1.11.x
2.11.x 1.11.x - 1.10.x
2.10.x 1.10.x - 1.9.x
2.9.x 1.10.x - 1.9.x
2.8.x 1.9.x - 1.8.x
2.7.x 1.8.x - 1.7.x
2.6.x 1.7.x - 1.6.x
2.5.x 1.6.x - 1.5.x
2.4.x 1.6.x - 1.5.x
2.3.x 1.5.x - 1.4.x
2.2.x 1.5.x - 1.4.x
2.1.x 1.5.x - 1.4.x
2.0.x 1.4.x - 1.3.x
接下来由我来简单的介绍如何使用 Helm.
我们可以通过 helm repo add 命令添加各种存储库。
helm repo add bitnami https://charts.bitnami.com/bitnami
我们可以通过 helm search repo 命令搜索相应 chart 存储库中可以安装的chart
helm search repo bitnami
bitnami/airflow 14.0.11 2.5.1 Apache Airflow is a tool to express and execute...
bitnami/apache 9.2.15 2.4.55 Apache HTTP Server is an open-source HTTP serve...
bitnami/appsmith 0.1.9 1.9.2 Appsmith is an open source platform for buildin...
bitnami/argo-cd 4.4.6 2.5.10 Argo CD is a continuous delivery tool for Kuber...
bitnami/argo-workflows 5.1.4 3.4.4 Argo Workflows is meant to orchestrate Kubernet...
bitnami/aspnet-core 4.0.3 7.0.2 ASP.NET Core is an open-source framework
....
要安装 chart,可以通过 helm install 命令来安装。
$ helm repo update # Make sure we get the latest list of charts
$ helm install bitnami/mysql --generate-name
NAME: mysql-1612624192
LAST DEPLOYED: Sat Feb 6 16:09:56 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES: ...
想查看 Helm 安装了哪些 chart ,可以通过 helm list (helm ls) 命令来安装。
$ helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART
APP VERSION
pyroscope default 7 2023-01-04 09:41:40.388931012 +0000 UTC deployed pyroscope-0.2.86 0.36.0
pyroscope-ebpf default 1 2023-01-04 08:46:33.590784083 +0000 UTC deployed pyroscope-ebpf-0.1.25 0.36.0
要卸载一个版本可以通过 helm uninstall 命令:
$ helm uninstall mysql-1612624192
release "mysql-1612624192" uninstalled
要想查看 Helm 的其他命令可以通过 helm get -h 查看。
本文简单介绍了 helm ,介绍了如何安装 helm ,以及对 helm 的简单使用。