2022年8月24号,v1.25.0 使用 Golang 版本 1.19 构建并推送。
新内容(主要主题)
PodSecurityPolicy 被移除,Pod Security Admission 毕业到 Stable
PodSecurityPolicy最初在v1.21版本中被弃用,随着v1.25版本的发布,它已经被移除。为改善其可用性所需的更新会带来破坏性的变化,因此有必要将其删除,以支持更友好的替代。这个替代品就是Pod Security Admission,它在这个版本中毕业于Stable。如果你目前依赖PodSecurityPolicy,请按照说明迁移到Pod Security Admission。
临时容器毕业到稳定
临时容器是在现有 pod 中仅存在有限时间的容器。当您需要检查另一个容器但不能使用 kubectl exec 时,这对于故障排除特别有用,因为该容器已崩溃或其image缺少调试实用程序。临时容器在 Kubernetes v1.23 中升级为 Beta,在此版本中,该功能升级为稳定版。
支持 cgroups v2 毕业到稳定版
自Linux内核cgroups v2 API宣布稳定以来,已经有两年多的时间了。随着一些发行版现在默认使用该API,Kubernetes必须支持它以继续在这些发行版上运行。cgroups v2比cgroups v1提供了一些改进,更多信息见cgroups v2文档。虽然cgroups v1将继续被支持,但这一改进使Kubernetes为最终的废弃和替换v2做好了准备。
改进了对Windows的支持
- 性能仪表板增加了对Windows的支持
- 单元测试增加了对Windows的支持
- 一致性测试增加了对Windows的支持
- 为Windows操作准备创建的新存储库
将容器服务从 k8s.gcr.io 移至 registry.k8s.io
将容器仓库从 k8s.gcr.io 移动到 registry.k8s.io 已合并。有关更多详细信息,请参阅 wiki 页面,公告已发送到 kubernetes 开发邮件列表。
SeccompDefault晋升为测试版
SeccompDefault 升级为 beta,有关更多详细信息,请参阅教程 Restrict a Container's Syscalls with seccomp。
将网络策略中的endPort晋升为稳定状态
将网络策略中的endPort提升为GA。支持endPort字段的网络策略提供者现在可以使用它来指定一系列的端口来应用网络策略。以前,每个网络策略只能针对一个单一的端口。
请注意,endPort字段必须由网络策略提供者支持。如果你的供应商不支持endPort,并且在网络策略中指定了这个字段,网络策略的创建将只包括端口字段(单一端口)。
将本地临时存储容量隔离提升为稳定
本地临时存储容量隔离功能移至 GA。 这是在 1.8 中作为 alpha 引入的,在 1.10 中移至 beta,现在它是一个稳定的功能。 它为 Pod 之间的本地临时存储的容量隔离提供支持,例如 EmptyDir,因此如果 Pod 对本地临时存储的消耗超过该限制,则可以通过驱逐 Pod 来硬限制其对共享资源的消耗。
晋升为核心CSI迁移到稳定状态
CSI迁移是SIG Storage在几个版本中一直在进行的工作。其目标是将树内卷插件转移到树外CSI驱动,并最终删除树内卷插件。核心的CSI迁移功能转移到了GA。用于GCE PD和AWS EBS的CSI迁移功能也转移到了GA。用于vSphere的CSI迁移功能仍处于测试阶段(但默认情况下是开启的)。用于Portworx的CSI Migration已转为测试版(但默认为关闭)。
将 CSI Ephemeral Volume 提升至稳定
CSI 临时卷功能允许在临时用例的 pod 规范中直接指定 CSI 卷。 它们可用于使用已安装的卷直接在 pod 内注入任意状态,例如配置、机密、身份、变量或类似信息。 这最初是在 1.15 中作为 alpha 功能引入的,然后移至 GA。 某些 CSI 驱动程序使用此功能,例如秘密存储 CSI 驱动程序。
将 CRD 验证表达式语言提升为 Beta
CRD 验证表达式语言升级为 beta,这使得可以声明如何使用通用表达式语言 (CEL) 验证自定义资源。请参阅验证规则指南。
将服务器端未知字段验证提升为 Beta
将 ServerSideFieldValidation 功能门提升为 beta(默认开启)。 这允许在检测到未知字段时选择性地触发 API 服务器上的模式验证。 这允许从 kubectl 中删除客户端验证,同时保持相同的核心功能,即在包含未知或无效字段的请求上出错。
引入 KMS v2
引入 KMS v2alpha1 API 以添加性能、轮换和可观察性改进。 使用 AES-GCM 而不是 AES-CBC 使用 DEK 加密静态数据(即 Kubernetes Secrets)以进行 kms 数据加密。 无需用户操作。 将继续允许使用 AES-GCM 和 AES-CBC 进行读取。 有关详细信息,请参阅使用 KMS 提供程序进行数据加密指南。
相关链接
英文原文:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md#v1250