舵手版本支持策略

本文档描述了 Helm 和 Kubernetes 之间支持的最大版本偏差。

支持的版本

Helm 版本表示为 x.y.z,其中 x 是主版本,y 是次版本,z 是修补程序版本,遵循 语义版本控制 术语。

Helm 项目为最新的次要版本维护一个发布分支。根据严重程度和可行性,将适用的修复程序(包括安全修复程序)cherry-pick 到发布分支。更多详细信息可以在 Helm 的发布策略 中找到。

支持的版本偏差

当发布 Helm 的新版本时,它会针对特定版本的 Kubernetes 次要版本进行编译。例如,Helm 3.0.0 使用 Kubernetes 1.16.2 客户端与 Kubernetes 交互,因此它与 Kubernetes 1.16 兼容。

从 Helm 3 开始,假设 Helm 与它编译的 Kubernetes 的 n-3 版本兼容。由于 Kubernetes 在次要版本之间发生了变化,因此 Helm 2 的支持策略略微严格,假设它与 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 安全使用。

不建议将 Helm 与比它编译的版本更新的 Kubernetes 版本一起使用,因为 Helm 不会做出任何向前兼容性保证。

如果您选择将 Helm 与它不支持的 Kubernetes 版本一起使用,那么您将自行承担风险。

请参考下表以确定哪个版本的 Helm 与您的集群兼容。

舵手版本支持的 Kubernetes 版本
3.14.x1.29.x - 1.26.x
3.13.x1.28.x - 1.25.x
3.12.x1.27.x - 1.24.x
3.11.x1.26.x - 1.23.x
3.10.x1.25.x - 1.22.x
3.9.x1.24.x - 1.21.x
3.8.x1.23.x - 1.20.x
3.7.x1.22.x - 1.19.x
3.6.x1.21.x - 1.18.x
3.5.x1.20.x - 1.17.x
3.4.x1.19.x - 1.16.x
3.3.x1.18.x - 1.15.x
3.2.x1.18.x - 1.15.x
3.1.x1.17.x - 1.14.x
3.0.x1.16.x - 1.13.x
2.16.x1.16.x - 1.15.x
2.15.x1.15.x - 1.14.x
2.14.x1.14.x - 1.13.x
2.13.x1.13.x - 1.12.x
2.12.x1.12.x - 1.11.x
2.11.x1.11.x - 1.10.x
2.10.x1.10.x - 1.9.x
2.9.x1.10.x - 1.9.x
2.8.x1.9.x - 1.8.x
2.7.x1.8.x - 1.7.x
2.6.x1.7.x - 1.6.x
2.5.x1.6.x - 1.5.x
2.4.x1.6.x - 1.5.x
2.3.x1.5.x - 1.4.x
2.2.x1.5.x - 1.4.x
2.1.x1.5.x - 1.4.x
2.0.x1.4.x - 1.3.x