Kubernetes 重大更改和删除

简介: Kubernetes 重大更改和删除

Kubernetes 重大更改和删除

网络异常,图片无法展示
|

随着 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)


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
消息中间件 Kubernetes Docker
「译」在 Kubernetes 1.16 上启用和使用 Ephemeral(临时)容器
「译」在 Kubernetes 1.16 上启用和使用 Ephemeral(临时)容器
|
容器 Perl
Kubernetes----Pod配置容器重启策略
Kubernetes----Pod配置容器重启策略
1641 0
|
7天前
|
Kubernetes Docker 容器
Kubernetes容器的重启策略
Kubernetes容器的重启策略
14 0
Kubernetes容器的重启策略
|
4月前
|
存储 Kubernetes API
k8s学习-ConfigMap(创建、使用、更新、删除等)
k8s学习-ConfigMap(创建、使用、更新、删除等)
475 0
|
6月前
|
存储 Kubernetes 文件存储
Kubernetes跨StorageClass迁移,切换Rainbond默认SC
在原生的 Kubernetes 集群中,通过 StorageClass 创建的 PVC 是无法修改存储后端的,需要将 PV、PVC 删除后通过新的 StorageClass 创建新的 PVC,然后再将数据迁移,再重新挂载 PVC。当有很多个 PVC 时,需要多次重复的操作。 而 Rainbond 虽然也是通过 StorageClass 创建的 PVC,但相比原生 Kubernetes 省去了创建 PV、PVC 和重新挂载的步骤,以及重复性的操作。在 Rainbond 中只需要将底层存储类更换,然后迁移 Rainbond 所创建的一整个目录,最后重新在页面中修改挂载即可完成迁移。
|
9月前
|
Kubernetes Docker 容器
重置kubernetes集群
重置kubernetes集群
275 0
|
存储 Kubernetes 安全
Kubernetes 中的对象是如何删除的:Finalizers 字段介绍
Kubernetes 中的对象删除并不像表面上看起来那么简单,删除对象涉及一系列过程,例如对象的级联和非级联删除,在删除之前检查以确定是否可以安全删除对象等等。这些都是通过称为 `Finalizers`(终结器)的 API 对象实现的。
1025 0
Kubernetes 中的对象是如何删除的:Finalizers 字段介绍
|
Kubernetes Docker 容器
kubernetes 【组件】configmap配置更新
kubernetes 【组件】configmap配置更新
|
Kubernetes 关系型数据库 MySQL
【kubernetes】升级调整:二进制文件方式安装 Kubernetes v1.25.4集群
【kubernetes】升级调整:二进制文件方式安装 Kubernetes v1.25.4集群
850 3
【kubernetes】升级调整:二进制文件方式安装 Kubernetes v1.25.4集群
|
弹性计算 Kubernetes Linux
容器服务Kubernetes版添加已有节点FAQ
容器服务Kubernetes版添加已有节点FAQ