1. Helm 版本与 K8s 版本对于关系
该文档描述了在 Helm 和 Kubernetes 之间支持的最大版本偏差。
1.1. 支持的版本
Helm的版本用 x.y.z
描述,x
是主版本,y
是次版本,z
是补丁版本,遵循 语义化版本 术语。
Helm 项目维护了一个针对最近次要版本的发布分支。适当的修复,包括安全修复、从发布分支中的 cherry-pick, 视严重程度而定。更多细节请查看 Helm 版本策略。
1.2. 可支持的版本偏差
当一个 Helm 的新版本发布时,它是针对 Kubernetes 的一个特定的次版本编译的。比如,Helm 3.0.0 与 Kubernetes 的 1.16.2 的客户端版本交互,依次可以兼容 Kubernetes 1.16。
从 Helm 3 开始,Helm 编译时假定与针对 n-3
版本的 Kubernetes 兼容。由于 Helm 2 对 Kubernetes 次版本变更的支持稍微严格一点, 则假定与 Kubernetes 的 n-1
版本兼容。
例如,如果您在使用一个针对 Kubernetes 1.17 客户端 API 版本编译的 Helm 3 版本,那么它应该可以安全地使用 Kubernetes 1.17, 1.16,1.15,以及1.14。如果您在使用一个针对 Kubernetes 1.16 客户端 API 版本编译的 Helm 2 版本,那么它应该可以安全地使用 Kubernetes 1.16 和 1.15。
[!WARNING|style:flat] 不推荐将 Helm 用于比编译它所依赖的版本更高的 Kubernetes 版本,因为 Helm 并没有做出任何向前兼容的保证。
如果您选择了一个 Kubernetes 版本不支持的 Helm,需自负风险。
请参考下表来确定哪个版本的 Helm 与您的集群兼容。
Helm 版本 | 支持的 Kubernetes 版本 |
---|---|
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 |