随着 Kubernetes 的发展和成熟,有些功能可能会被弃用、删除或替换。Kubernetes v1.25 包括几项重大更改和删除。
Kubernetes 项目有一个记录良好的特性弃用策略。该策略规定:
无论 API 是由于功能从 beta 升级到稳定还是因为该 API 根本没有成功而被删除,所有删除都符合此弃用政策。每当删除 API 时,文档中都会传达迁移选项。
我们在 v1.21 中弃用 PodSecurityPolicy,在 Kubernetes v1.25 中将删除它。PodSecurityPolicy 的复杂且经常令人困惑的用法需要进行更改,不幸的是,这将是破坏性更改。为了解决这个问题,它被删除,取而代之的是 Pod Security Admission
,它也在这个版本中逐渐稳定。如果您当前依赖 PodSecurityPolicy,请按照迁移到 Pod Security Admission的说明进行操作。
除了删除 PodSecurityPolicy 之外,Kubernetes v1.25 还包括几项重大更改。
将 in-tree 卷插件移至 out-of-tree CSI 驱动程序的努力仍在继续,核心 CSI 迁移功能在 v1.25 中成为 GA。这是完全删除 in-tree 卷插件的重要一步。
有几个卷被弃用或删除。
GlusterFS 将在 v1.25 中被弃用。虽然为它构建了 CSI 驱动程序,但尚未对其进行维护。讨论了迁移到兼容 CSI 驱动程序的可能性,但最终决定开始从树内驱动程序中弃用 GlusterFS 插件。
此版本也弃用了Portworx in-tree 卷插件,正在删除 Flocker、Quobyte 和 StorageOS in-tree 卷插件。
从 Kubernetes v1.25 开始,树内 vSphere 卷驱动程序将不支持 7.0u2 之前的任何 vSphere 版本。查看 v1.25 详细的发行说明以获取有关如何处理此问题的更多建议。
改进发布过程的安全状况的另一个步骤是,Kubernetes 发布工件的签名将在此版本中升级为 Beta。这与针对 Kubernetes 发布过程的目标 SLSA 3 级合规性的提议增强一致。
两年多前,新的内核 cgroups v2 API 被宣布为稳定的,在这个版本中,我们正朝着全面采用它迈出坚实的步伐。虽然将继续支持 cgroup v1,但此更改使我们准备好应对 cgroup v1 的最终弃用和 cgroup v2 成为替代。
从 Kubernetes 1.25 版本开始,Kubernetes 创建的 iptables 链将仅支持内部 Kubernetes 用例。从 v1.25 开始,Kubelet 将逐渐走向不在nat
表中创建以下 iptables 链:
KUBE-MARK-DROP
KUBE-MARK-MASQ
KUBE-POSTROUTING
此更改将通过IPTablesCleanup
功能门逐步实施。
为 Kubernetes 1.26 计划的 API 移除的官方列表是: