kubernetes-notes

1. k8s版本号说明

k8s维护最新三个版本的发布分支([2022.7.2]当前最新三个版本为1.24、1.23、1.22),Kubernetes 1.19 和更新的版本获得大约 1 年的补丁支持。

Kubernetes 版本表示为 x.y.z, 其中 x 是主要版本,y 是次要版本,z 是补丁版本。遵循语义化版本规范

2. 版本偏差策略

2.1. 支持的版本偏差

总结:

1)kube-apiserver

高可用性(HA)集群中, 最新版和最老版的 kube-apiserver 实例版本偏差最多为一个次要版本。

例如:

2)kubelet

kubelet 版本不能比 kube-apiserver 版本新,并且最多只可落后两个次要版本。

例如:

说明:

如果 HA 集群中的 kube-apiserver 实例之间存在版本偏差,这会缩小允许的 kubelet 版本范围。

例如:

3)kube-controller-manager、kube-scheduler 和 cloud-controller-manager

kube-controller-managerkube-scheduler 和 cloud-controller-manager 不能比与它们通信的 kube-apiserver 实例新。 它们应该与 kube-apiserver 次要版本相匹配,但可能最多旧一个次要版本(允许实时升级)。

例如:

说明:

如果 HA 集群中的 kube-apiserver 实例之间存在版本偏差, 并且这些组件可以与集群中的任何 kube-apiserver 实例通信(例如,通过负载均衡器),这会缩小这些组件所允许的版本范围。

例如:

4)kubectl

kubectl 在 kube-apiserver 的一个次要版本(较旧或较新)中支持。

例如:

说明:

如果 HA 集群中的 kube-apiserver 实例之间存在版本偏差,这会缩小支持的 kubectl 版本范围。

例如:

5)kube-proxy

例如:

如果 kube-proxy 版本处于 1.22 版本:

2.2. 组件升级顺序

优先升级kube-apiserver,其他的组件按照上述的版本要求进行升级,最好保持一致的版本。

3. k8s版本发布周期

k8s每年大概发布三次,即3-4个月发布一次大版本(发布版本为 vX.Y 里程碑创建的 Git 分支 release-X.Y)。

发布过程可被认为具有三个主要阶段:

3.1. 发布周期

1)正常开发(第 1-11 周)

2)代码冻结(第 12-14 周)

3)发布后(第 14 周以上)

回到“正常开发”阶段要求:

参考: