3

使用k8s 需要关注的版本问题

 2 years ago
source link: https://www.cnblogs.com/shanyou/p/15911885.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用k8s 需要关注的版本问题

Kubernetes 社区大约会每隔三个月发布次要版本。 从2020年8月发布的版本 1.19 开始 ,Kubernetes 社区将每个版本的支持时长从 9 个月增加到了 12 个月

长期支持(LTS)工作组在2019年初进行的一项调查显示在当前的9个月支持期内,很大一部分 Kubernetes 用户未能升级。这一点以及调查中的其他反应表明,如果将补丁支持期延长至12-14个月,则30%的用户能够将其部署保持在支持的版本上。无论用户使用的是自建版还是商业发行版,情况都是如此。因此,延长支持期将导致超过 80% 的用户使用受支持的版本,而不是现在的 50-60%。一年一度的支持期可为用户提供所需的缓冲期,并且更符合熟悉的年度规划周期。从 Kubernetes 1.19 版本开始,支持窗口将延长到一年。

次要版本包括新增功能和改进。 补丁发布更为频繁(有时每周都会发布),适用于次要版本中的关键 Bug 修复。 修补程序版本包括针对安全漏洞或主要 bug 的修复。为了使集群中一直跟随着版本前进,如果一直不更新,会导致新功能无法使用,落后新版本太多版本,不方便升级。落后2个大版本以上的,需要考虑支持的功能以及参数,Kubernetes 会将一些功能删除,或者更改资源名称。类似这样的情况,Kubernetes 其实也是给了使用者很好的兼容方式的,每个大版本会兼容前两个大版本中的功能,如 1.21可以兼容 1.20和 1.19,并不兼容 1.18,如果从 1.18 直接升级到 1.21,很有可能有些功能或者参数在 1.21已经不支持了。

如果已经落后版本太多,还想要升级也是有办法的,需要递归升级,如 1.12 先升级到 1.14 ,1.14 再升级到 1.16,以此类推。

那么我们升级Kubernetes的 策略如何做?

  • 最好的方式是始终保持最新
  • 每半年升级一次,资源会落后社区1~2个小版本(推荐)
  • 一年升级一次,或者更长,落后版本太多(不推荐)

升级管理节点 —> 升级其余管理节点 —> 升级worker节点

注意事项:升级前必须备份所有组件及数据,例如 etcd

[1]将 Kubernetes 支持窗口增加到一年:https://kubernetes.io/blog/2020/08/31/kubernetes-1-19-feature-one-year-support/

[2] Azure Kubernetes 服务的支持策略: https://docs.microsoft.com/zh-cn/azure/aks/support-policies 

[3] Azure Kubernetes 服务 (AKS) 中支持的 Kubernetes 版本:https://docs.microsoft.com/zh-cn/azure/aks/supported-kubernetes-versions?tabs=azure-cli#kubernetes-version-support-policy


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK