本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。

Kubernetes 1.24: Stargazer

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

此版本包含 46 项增强功能:14 项增强功能已进入稳定阶段,15 项增强功能正在进入 Beta 阶段,13 项增强功能正在进入 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 的新版本将继续默认启用。

为发布工件签名

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

OpenAPI v3

Kubernetes 1.24 提供了以 OpenAPI v3 格式发布其 API 的 Beta 支持。

存储容量和卷扩展已正式发布(GA)

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

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

NonPreemptingPriority 进入稳定阶段

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

存储插件迁移

工作正在进行中,以将树内存储插件的内部迁移到调用 CSI 插件,同时保持原始 API。Azure DiskOpenStack Cinder 插件都已迁移。

gRPC 探针进入 Beta 阶段

随着 Kubernetes 1.24 的发布,gRPC 探针功能已进入 Beta 阶段并默认可用。您现在可以在 Kubernetes 内部为您的 gRPC 应用程序配置启动、存活和就绪探针,而无需暴露 HTTP 端点或使用额外的可执行文件。

Kubelet 凭据提供程序进入 Beta 阶段

最初在 Kubernetes 1.20 中作为 Alpha 版发布,kubelet 对镜像凭据提供程序的支持现已进入 Beta 阶段。这允许 kubelet 使用 exec 插件动态检索容器镜像注册表的凭据,而不是将凭据存储在节点的文件系统上。

上下文日志记录进入 Alpha 阶段

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

避免服务 IP 分配冲突

Kubernetes 1.24 引入了一个新的可选功能,允许您为服务的静态 IP 地址分配软保留一个范围。通过手动启用此功能,集群将优先从服务 IP 地址池中自动分配,从而降低冲突的风险。

服务的 ClusterIP 可以被分配

  • 动态地,这意味着集群将自动在配置的服务 IP 范围内选择一个空闲的 IP。
  • 静态地,这意味着用户将在配置的服务 IP 范围内设置一个 IP。

服务的 ClusterIP 是唯一的;因此,尝试创建一个使用已被分配的 ClusterIP 的服务将返回一个错误。

动态 Kubelet 配置已从 Kubelet 中移除

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

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

例如,以下容器运行时正在准备或已经准备好用于 Kubernetes

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

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

使用 containerd v1.6.0-v1.6.3 时,如果您不升级 CNI 插件和/或声明 CNI 配置版本,您可能会遇到以下“不兼容的 CNI 版本”或“销毁沙箱网络失败”的错误情况。

CSI 快照

此信息是在初次发布后添加的。

VolumeSnapshot v1beta1 CRD 已被移除。为 Kubernetes 和容器存储接口 (CSI) 提供的卷快照和恢复功能,它提供了标准化的 API 设计 (CRD) 并为 CSI 卷驱动程序添加了 PV 快照/恢复支持,已在 v1.20 中进入 GA 阶段。VolumeSnapshot v1beta1 在 v1.20 中被弃用,现已不受支持。有关更多信息,请参阅 KEP-177: CSI Snapshot卷快照 GA 博客

其他更新

升级为稳定版

此版本中有十四项增强功能提升至稳定版

重大变更

此版本有两项重大变更

版本说明

请在我们的发布说明中查看 Kubernetes 1.24 发布的全部详情。

可用性

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

发布团队

此版本的发布离不开 Kubernetes 1.24 发布团队中所有敬业成员的共同努力。这个团队齐心协力,交付了每个 Kubernetes 版本的所有组成部分,包括代码、文档、发布说明等等。

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

Kubernetes 1.24: Stargazer

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

从古代天文学家到建造詹姆斯·韦伯太空望远镜的科学家,世世代代的人们都曾怀着敬畏和惊奇仰望星空。星辰激励着我们,点燃了我们的想象力,并在艰难海域的长夜里为我们指引方向。

通过这次发布,我们仰望星空,展望当我们的社区团结一致时所能实现的一切。Kubernetes 是全球数百名贡献者和成千上万支持着服务数百万用户的应用程序的最终用户的共同杰作。每一个人都是我们天空中的一颗星,帮助我们规划航向。

该发布徽标由 Britnee Laverack 制作,描绘了一架望远镜对准星空和昴宿星团(Pleiades),在神话中通常被称为“七姐妹”。数字七对 Kubernetes 项目来说尤其吉利,它也呼应了我们最初的“七号项目”(Project Seven)的名称。

这个 Kubernetes 版本是为了那些仰望夜空并心怀好奇的人们而命名的——献给所有的观星者。✨

用户亮点

生态系统更新

项目速度

CNCF K8s DevStats 项目汇总了许多与 Kubernetes 和各个子项目的速度相关的有趣数据点。这包括从个人贡献到贡献公司的数量等所有内容,展示了推动这个生态系统发展的努力的深度和广度。

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

即将举行的发布网络研讨会

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

参与其中

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