背景说明

Helm 是 Kubernetes 的包管理器,可以很方便的将打包好的yaml文件部署到kubernetes集群上。

解决方案

官方文档

https://helm.sh/zh/

开源地址

https://github.com/helm/helm

下载地址

https://github.com/helm/helm/releases/tag/v3.8.1

https://get.helm.sh/helm-v3.8.1-linux-arm64.tar.gz

版本兼容

https://helm.sh/zh/docs/topics/version_skew/

序号 kubernetes helm
1 3.8.x 1.23.x - 1.20.x
2 3.7.x 1.22.x - 1.19.x
3 3.6.x 1.21.x - 1.18.x
4 3.5.x 1.20.x - 1.17.x
5 3.4.x 1.19.x - 1.16.x
6 3.3.x 1.18.x - 1.15.x
7 3.2.x 1.18.x - 1.15.x
8 3.1.x 1.17.x - 1.14.x
9 3.0.x 1.16.x - 1.13.x
10 2.16.x 1.16.x - 1.15.x
11 2.15.x 1.15.x - 1.14.x
12 2.14.x 1.14.x - 1.13.x
13 2.13.x 1.13.x - 1.12.x
14 2.12.x 1.12.x - 1.11.x
15 2.11.x 1.11.x - 1.10.x
16 2.10.x 1.10.x - 1.9.x
17 2.9.x 1.10.x - 1.9.x
18 2.8.x 1.9.x - 1.8.x
19 2.7.x 1.8.x - 1.7.x
20 2.6.x 1.7.x - 1.6.x
21 2.5.x 1.6.x - 1.5.x
22 2.4.x 1.6.x - 1.5.x
23 2.3.x 1.5.x - 1.4.x
24 2.2.x 1.5.x - 1.4.x
25 2.1.x 1.5.x - 1.4.x
26 2.0.x 1.4.x - 1.3.x

重要概念

Helm

一个命令行工具,主要用于Kubernetes应用chart的创建、打包、发布和管理

Chart

应用描述,一系列用于描述k8s资源相关文件的集合

Release

基于Chart的一次部署实例,一个chart被Helm运行后将产生一个对应的release,将在kubernetes中创建出真实运行的资源对象。

问题解决

可以把yaml文件作为一个整体进行管理
可以把yaml文件进行高效复用
可以把yaml文件做版本管理