这篇文章已发布超过一年。较早的文章可能包含过时内容。请检查页面中的信息自发布以来是否已不准确。

Kubernetes 1.24: Stargazer

我们很高兴地宣布 Kubernetes 1.24 发布,这是 2022 年的第一个版本!

此版本包含 46 项增强:其中十四项已升级至稳定版,十五项正迁移至 Beta 版,十三项进入 Alpha 版。此外,还有两项功能已被弃用,两项功能已被移除。

主要主题

Dockershim 从 kubelet 中移除

自 v1.20 弃用后,dockershim 组件已在 Kubernetes v1.24 中从 kubelet 中移除。从 v1.24 开始,如果你依赖 Docker Engine 作为容器运行时,你需要使用其他支持的运行时(例如 containerd 或 CRI-O),或者使用 cri-dockerd。有关确保集群准备好移除此组件的更多信息,请参阅本指南

Beta API 默认关闭

新的 Beta API 在集群中默认不会启用。现有的 Beta API 和现有 Beta API 的新版本将继续默认启用。

签署发布 Artifacts

发布 Artifacts 使用 cosign 签名进行签署,并且有实验性支持用于验证镜像签名。发布 Artifacts 的签署和验证是增强 Kubernetes 发布流程软件供应链安全性的一部分。

OpenAPI v3

Kubernetes 1.24 提供 Beta 支持,用于以OpenAPI v3 格式发布其 API。

存储容量和卷扩展现已正式可用 (GA)

存储容量跟踪支持通过CSIStorageCapacity 对象暴露当前可用存储容量,并增强了使用 CSI 卷和后期绑定的 Pod 的调度。

卷扩展增加了对现有持久卷进行大小调整的支持。

NonPreemptingPriority 升级至稳定版

此功能为 PriorityClasses 添加了一个新选项,可以启用或禁用 Pod 抢占。

存储插件迁移

目前正在进行将树内存储插件的内部实现迁移以调用 CSI Plugins 的工作,同时保持原始 API 不变。Azure DiskOpenStack Cinder 插件都已完成迁移。

gRPC Probes 升级至 Beta 版

在 Kubernetes 1.24 中,gRPC probes 功能已进入 Beta 版,并默认启用。你现在无需暴露 HTTP 端点或使用额外的可执行文件,就可以在 Kubernetes 中为你的 gRPC 应用本地配置启动、存活和就绪探针

Kubelet Credential Provider 升级至 Beta 版

Kubelet 对镜像凭据提供者的支持最初在 Kubernetes 1.20 中作为 Alpha 版发布,现已升级至 Beta 版。这使得 kubelet 可以使用 exec 插件动态检索容器镜像仓库的凭据,而不是将凭据存储在节点的 文件系统中。

上下文日志记录功能处于 Alpha 版

Kubernetes 1.24 引入了上下文日志记录,它允许函数调用者控制日志记录的所有方面(输出格式、详细程度、附加值和名称)。

避免分配给 Services 的 IP 地址冲突

Kubernetes 1.24 引入了一个新的可选功能,允许你软保留一段范围用于静态分配给 Services 的 IP 地址。手动启用此功能后,集群将优先从 Service IP 地址池中自动分配,从而降低冲突的风险。

一个 Service 的 ClusterIP 可以被分配:

  • 动态分配,这意味着集群将自动从配置的 Service IP 范围中选择一个空闲 IP。
  • 静态分配,这意味着用户将在配置的 Service IP 范围中设置一个 IP。

Service 的 ClusterIP 是唯一的;因此,尝试创建一个已分配了 ClusterIP 的 Service 将返回错误。

动态 Kubelet 配置从 Kubelet 中移除

在 Kubernetes 1.22 中被弃用后,动态 Kubelet 配置已从 kubelet 中移除。此功能将在 Kubernetes 1.26 中从 API server 中移除。

在升级到 Kubernetes 1.24 之前,请验证你正在使用/升级的容器运行时已通过测试,可以与此版本正常工作。

例如,以下容器运行时正在为 Kubernetes 做准备,或已经准备就绪:

  • containerd v1.6.4 及更高版本,v1.5.11 及更高版本
  • CRI-O 1.24 及更高版本

当 CNI 插件未升级和/或 CNI 配置文件中未声明 CNI 配置版本时,containerd v1.6.0–v1.6.3 在 Pod CNI 网络设置和拆除方面存在服务问题。containerd 团队报告:“这些问题已在 containerd v1.6.4 中得到解决。”

对于 containerd v1.6.0–v1.6.3,如果你不升级 CNI 插件和/或声明 CNI 配置版本,你可能会遇到以下“不兼容的 CNI 版本”或“未能销毁沙箱网络”的错误情况。

CSI Snapshot

此信息在首次发布后添加。

VolumeSnapshot v1beta1 CRD 已被移除。Kubernetes 和 Container Storage Interface (CSI) 的卷快照和恢复功能已在 v1.20 中达到 GA,此功能提供了标准化的 API 设计 (CRDs) 并为 CSI 卷驱动添加了 PV 快照/恢复支持。VolumeSnapshot v1beta1 在 v1.20 中被弃用,现在不受支持。更多信息请参阅 KEP-177: CSI SnapshotVolume Snapshot GA 博客

其他更新

升级至稳定版

此版本有十四项增强被提升至稳定版:

重大变更

此版本有两项重大变更:

发行说明

查看我们的发行说明,了解 Kubernetes 1.24 发布的完整细节。

可用性

Kubernetes 1.24 可在 GitHub 上下载。要开始使用 Kubernetes,请查看这些交互式教程,或使用 kind 构建以容器作为“节点”的本地 Kubernetes 集群。你也可以使用 kubeadm 轻松安装 1.24。

发布团队

没有由一群敬业人士组成的 Kubernetes 1.24 发布团队的共同努力,这次发布是不可能实现的。这个团队齐心协力,交付了构成每个 Kubernetes 版本的所有组件,包括代码、文档、发行说明等等。

特别感谢我们的发布负责人 James Laverack,他指导我们完成了成功的发布周期,也感谢所有发布团队成员为向 Kubernetes 社区交付 v1.24 版本所付出的时间和精力。

Kubernetes 1.24: Stargazer

Kubernetes 1.24 的主题是 Stargazer (观星者)

从古代天文学家到建造詹姆斯·韦伯空间望远镜的科学家,一代又一代的人们满怀敬畏和惊奇地仰望星空。星星激励着我们,点燃了我们的想象,并在艰难的漫漫长夜中指引着我们。

在这次发布中,我们向上凝望,看向当我们的社区团结一致时所能实现的可能性。Kubernetes 是全球数百名贡献者和数千名支持服务数百万用户的最终用户共同努力的成果。每个人都是我们夜空中的一颗星,帮助我们指引方向。

发布 Logo 由 Britnee Laverack 创作,描绘了置于星空下的望远镜和昴星团,在神话中常被称为“七姐妹”。数字七对 Kubernetes 项目来说尤其吉利,也是对我们最初的名称“Project Seven”的致敬。

本次 Kubernetes 发布以那些仰望夜空并心生奇妙的人们命名——献给所有观星者。✨

用户亮点

生态系统更新

项目速度

CNCF K8s DevStats 项目汇总了许多与 Kubernetes 及各种子项目的速度相关的有趣数据点。这包括从个人贡献到贡献的公司数量的一切,说明了投入到发展这个生态系统的努力的深度和广度。

在持续了 17 周(1 月 10 日至 5 月 3 日)的 v1.24 发布周期中,我们看到了来自1029 家公司1179 名个人的贡献。

即将到来的发布网络研讨会

欢迎于太平洋时间 2022 年 5 月 24 日星期二上午 9:45 - 11:00 加入 Kubernetes 1.24 发布团队成员,了解此版本的主要功能以及弃用和移除的内容,以帮助规划升级。更多信息和注册,请访问 CNCF 在线项目网站上的活动页面

参与其中

参与 Kubernetes 的最简单方式是加入众多与您的兴趣相符的特别兴趣小组 (SIG)。有什么想向 Kubernetes 社区广播的吗?在我们的每周社区会议上以及通过以下渠道分享您的声音: