绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Kubernetes 1.25 中的重大更改和删除
2022-08-09 16:04:17



随着 Kubernetes 的发展和成熟,有些功能可能会被弃用、删除或替换。Kubernetes v1.25 包括几项重大更改和删除。

Kubernetes API 移除和弃用流程

Kubernetes 项目有一个记录良好的特性弃用策略[1]。该策略规定:

  • 只有当同一 API 的更新、稳定版本可用并且 API 具有每个稳定性级别的短生命周期时,才可能弃用稳定 API。
  • 不推荐使用未来 Kubernetes 版本中被标记为删除的 API;
  • 它将继续运行,直到被删除(至少从弃用一年),但使用将显示警告。
  • 删除的 API 在当前版本中不再可用时,您必须迁移到新的替换功能。
  • 普遍可用 (GA) 或稳定的 API 版本可能被标记为已弃用,但不得在 Kubernetes 的主要版本中删除。
  • 弃用后的 3 个版本必须支持 Beta 或预发布 API 版本。
  • Alpha 版或实验性 API 版本可能会在任何版本中被删除,恕不另行通知。

无论 API 是由于功能从 beta 升级到稳定还是因为该 API 根本没有成功而被删除,所有删除都符合此弃用政策。每当删除 API 时,文档中都会传达迁移选项。

关于 PodSecurityPolicy 的说明

我们在 v1.21 中弃用 PodSecurityPolicy[2],在 Kubernetes v1.25 中将删除它。PodSecurityPolicy 的复杂且经常令人困惑的用法需要进行更改,不幸的是,这将是破坏性更改。为了解决这个问题,它被删除,取而代之的是 Pod Security Admission,它也在这个版本中逐渐稳定。如果您当前依赖 PodSecurityPolicy,请按照迁移到 Pod Security Admission[3]的说明进行操作。

Kubernetes v1.25 的主要变化

除了删除 PodSecurityPolicy 之外,Kubernetes v1.25 还包括几项重大更改。

CSI 迁移[4]

将 in-tree 卷插件移至 out-of-tree CSI 驱动程序的努力仍在继续,核心 CSI 迁移功能在 v1.25 中成为 GA。这是完全删除 in-tree 卷插件的重要一步。

卷插件弃用和删除

有几个卷被弃用或删除。

GlusterFS 将在 v1.25 中被弃用[5]。虽然为它构建了 CSI 驱动程序,但尚未对其进行维护。讨论[6]了迁移到兼容 CSI 驱动程序的可能性,但终决定开始从树内驱动程序中弃用 GlusterFS 插件。

此版本也弃用了Portworx in-tree 卷插件[7],正在删除 Flocker、Quobyte 和 StorageOS in-tree 卷插件。

声明不受支持的 vSphere 版本[8]

从 Kubernetes v1.25 开始,树内 vSphere 卷驱动程序将不支持 7.0u2 之前的任何 vSphere 版本。查看 v1.25 详细的发行说明以获取有关如何处理此问题的更多建议。

签署发布工件[9]

改进发布过程的安全状况的另一个步骤是,Kubernetes 发布工件的签名将在此版本中升级为 Beta。这与针对 Kubernetes 发布过程的目标 SLSA 3 级合规性的提议增强一致。

支持 cgroup v2 升级到稳定版[10]

两年多前,新的内核 cgroups v2 API 被宣布为稳定的,在这个版本中,我们正朝着全面采用它迈出坚实的步伐。虽然将继续支持 cgroup v1,但此更改使我们准备好应对 cgroup v1 的终弃用和 cgroup v2 成为替代。

清理 IPTables 链所有权[11]

从 Kubernetes 1.25 版本开始,Kubernetes 创建的 iptables 链将仅支持内部 Kubernetes 用例。从 v1.25 开始,Kubelet 将逐渐走向不在nat表中创建以下 iptables 链:

  • KUBE-MARK-DROP
  • KUBE-MARK-MASQ
  • KUBE-POSTROUTING

此更改将通过IPTablesCleanup功能门逐步实施。

展望未来

为 Kubernetes 1.26 计划的 API 移除[12]的官方列表是:

  • Beta FlowSchema 和 PriorityLevelConfiguration API (flowcontrol.apiserver.k8s.io/v1beta1)
  • 测试版 HorizontalPodAutoscaler API (autoscaling/v2beta2)

原文:https://kubernetes.io/blog/2022/08/04/upcoming-changes-in-kubernetes-1-25

参考资料

[1]

弃用策略: https://kubernetes.io/docs/reference/using-api/deprecation-policy/

[2]

在 v1.21 中弃用 PodSecurityPolicy: https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/

[3]

迁移到 Pod Security Admission: https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/

[4]

CSI 迁移: https://github.com/kubernetes/enhancements/issues/625

[5]

GlusterFS 将在 v1.25 中被弃用: https://github.com/kubernetes/enhancements/issues/3446

[6]

讨论: https://github.com/kubernetes/kubernetes/issues/100897

[7]

Portworx in-tree 卷插件: https://github.com/kubernetes/enhancements/issues/2589

[8]

声明不受支持的 vSphere 版本: https://github.com/kubernetes/kubernetes/pull/111255

[9]

签署发布工件: https://github.com/kubernetes/enhancements/issues/3031

[10]

支持 cgroup v2 升级到稳定版: https://github.com/kubernetes/enhancements/issues/2254

[11]

清理 IPTables 链所有权: https://github.com/kubernetes/enhancements/issues/3178

[12]

为 Kubernetes 1.26 计划的 API 移除: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-26


- END -




链接:https://mp.weixin.qq.com/s/6yrd1Dtf0wA0Ixu-Fr4MNQ

(版权归原作者所有,侵删)



分享好友

分享这个小栈给你的朋友们,一起进步吧。

唠唠云原生
创建时间:2020-05-11 11:26:03
云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。 Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~