刚刚,Kubernetes 1.24正式发布

肉眼品世界

共 4160字,需浏览 9分钟

 ·

2022-05-09 22:58

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

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


 
1 
要点汇总


从kubelet中移除dockershim

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

各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服务器中删除。


 
2 
关于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版本不兼容”或“无法为沙箱删除网络”等错误。


 
3 
其他更新


毕业至稳定版

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

  • 容器存储接口(CSI)存储卷扩展

  • Pod Overhead:统计绑定至Pod沙箱、但未绑定至指定容器的资源。

  • 向PriorityClasses添加非抢占选项

  • 存储容量跟踪

  • OpenStack Cinder In-Tree迁移至CSI Driver

  • Azure Disk In-Tree迁移至CSI Driver

  • 高效watch恢复:可在kube-apiserver重启后,对watch进行高效恢复

  • 服务类型=负载均衡器类字段:引入一种新的服务注释service.kubernetes.io/load-balancer-class,允许在同一集群中实现多种type: LoadBalancer服务。

  • 索引作业:为具有固定完成计数的作业Pod添加完成索引。

  • 为Jobs API添加暂停字段:为Jobs API添加暂停字段,这样编排程序即可创建作业、从而更好地控制Pod创建时间。

  • Pod Affinity NamespaceSelector:为Pod亲和性/反亲和性规范添加namespaceSelector字段。

  • 面向控制器管理器的leader迁移:kube-controller-manager与cloud-controller-manager现可在HA控制平面中使用新的控制器到控制器管理器分配功能,全程无需停机。

  • CSR持续时间:为CertificateSigningRequest API提供新的扩展机制,允许客户端为已颁发的证书请求特定持续时长。

重要变更

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

  • 移除Dockershim

  • 默认关闭各Beta APIs

发布说明

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

发布情况

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

发布团队

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

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

发布主题与Logo



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

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

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

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

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

项目进度

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

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

相关链接:

  1. https://kubernetes.io/blog/2022/03/31/ready-for-dockershim-removal/

  2. https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md

  3. https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0

  4. https://kubernetes.io/docs/tutorials/

  5. https://kind.sigs.k8s.io/

  6. https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

  7. https://k8s.devstats.cncf.io/d/12/dashboards?orgId=1&refresh=15m


推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)

亿级(无限级)并发,没那么难

论数字化转型——转什么,如何转?

华为干部与人才发展手册(附PPT)

企业10大管理流程图,数字化转型从业者必备!

【中台实践】华为大数据中台架构分享.pdf

华为的数字化转型方法论

华为如何实施数字化转型(附PPT)

超详细280页Docker实战文档!开放下载

华为大数据解决方案(PPT)

浏览 42
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报