刚刚,Kubernetes 1.24正式发布


今天,我们很高兴地向大家宣布,Kubernetes 1.24暨2022年的首个版本已经正式发布!

1.24版本涉及46项增强功能:其中14项已升级为稳定版,15项进入beta阶段,13项则刚刚进入alpha阶段。此外,另有2项功能被弃用、2项功能被删除。

要点汇总

从kubelet中移除dockershim

自1.20版本被弃用之后,dockershim组件终于在1.24的kubelet中被删除。从1.24开始,大家需要使用其他受到支持的运行时选项(例如containerd或CRI-O);如果您选择Docker Engine作为运行时,则需要使用cri-dockerd。关于dockershim移除的更多详细信息,请参阅本指南

各beta API默认关闭

在默认情况下,新的各beta API不会在集群内得到启用。但全部原有beta API及其新版本将在1.24中继续默认启用。

签名发布工件

在1.24版本中,发布工件将使用cosign进行签名,同时提供实验性的镜像签名验证支持。发布工件的签名与验证属于Kubernetes软件发布供应链的安全性改进举措之一。

OpenAPI v3

Kubernetes 1.24开始为API的OpenAPI v3发布格式提供beta支持。

存储容量与存储卷扩展双双迎来通用版本

存储容量跟踪通过CSIStorageCapacity对象公开当前可用的存储容量,并对使用后续绑定的CSI存储卷的pod进行调度增强。

存储卷扩展则新增对现有持久卷的重新调整功能。

NonPreemptingPriority迎来稳定版

此功能为PriorityClasses添加了新的选项,可开启或关闭pod抢占机制。

存储插件迁移

目前Kubernetes开发团队正在迁移树内存储插件,希望在实现CSI插件的同时、保持原有API的正常起效。Azure Disk与OpenStack Cinder等插件已经完成了迁移。

gRPC探针升级至beta版

在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中正式移除。在未来的1.26版本中,此功能还将从API服务器中删除。

关于CNI版本的重要变更

在升级至1.24之前,请确认并测试您所使用的容器运行时能够在新版本中正常工作。

例如,以下容器运行时已经或即将全面兼容Kubernetes 1.24:
  • containerd v1.6.4及更高,v1.5.11及更高
  • CRI-O 1.24及更高


若CNI插件尚未升级且/或CNI配置文件中未声明CNI配置版本时,则containerd v1.6.0-v1.6.3版本将导致pod CNI网络setup及tear down发生问题。Containerd团队报告称,“这些问题已经在containerd v1.6.4中得到解决。”

在containerd v1.6.0-v1.6.3时,如果你未升级CNI插件且/或声明CNI配置版本,则可能遇到“CNI版本不兼容”或“无法为沙箱删除网络”等错误。

其他更新

毕业至稳定版

在1.24版本中,共有14项增强功能迎来稳定版:


重要变更

1.24版本包含2项重要变更:


发布说明

关于Kubernetes 1.24版本的更多详细信息,请参阅我们的发布说明

发布情况

Kubernetes 1.24现已在GitHub上开放下载。要开始使用Kubernetes,请参阅各交互式教程,或在kind中使用容器作为“节点”运行你的本地Kubernetes集群。你也可以通过kubeadm轻松安装Kubernetes 1.24。

发布团队

如果没有Kubernetes发布团队中各位成员的共同努力,1.24版本将无法与大家见面。开发团队团结一致、共同带来了Kubernetes各个版本中的所有代码、文档、发布说明等宝贵成果。

这里要特别感谢发布负责人James Laverack为了Kubernetes的稳定更新做出的指导,也感谢每位团队成员为1.24版本投入的时间和精力。

发布主题与Logo

kubernetes-1.24_.png

Kubernetes 1.24的主题为Stargazer,即观星者。

从古代天文学家到如今建造詹姆斯-韦伯太空望远镜的科学家,人类世世代代怀着敬畏与好奇仰望着星空。繁星启发了我们、激发着我们的想象力,也在一个又一个漂泊的夜晚为船员们指示着前进的方向。

通过此版本,我们再次将目光投向星空,象征着整个社区齐聚一堂、遥望前路。Kubernetes社区聚集着全球数百名贡献者和成千上万的最终用户,并最终支撑起数以百万计的运行服务。每一位参与者都如同一颗星斗,在夜空中帮助我们规划航向。

1.24版本的发行logo由Britnee Laverack制作,图中一架望远镜遥指空中的昴宿星团,也就是神话中的七仙女星。数字“七”也是Kubernetes的幸运数,毕竟最早我们曾把项目定名为“Project Seven”。

所以我们决定在1.24版本中回归初心,找回探索寰宇的项目使命。今天,我们都是“观星者”。

项目进度

CNCF K8s DevStats项目汇总了Kubernetes及下辖各个子项目的进度数据点,包括做出贡献的个人及企业数量等等。感兴趣的朋友可以点击查看,了解Kubernetes生态系统是在怎样的支持下才发展到如今的深度和广度。

1.24版本的开发和发布周期为17周(1月10日至5月3日),期间我们共收到来自1029家企业和1179位个人的贡献。

原文链接:Kubernetes 1.24: Stargazer

0 个评论

要回复文章请先登录注册