本文已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes 1.24:观星者
我们很高兴地宣布 Kubernetes 1.24 版本发布,这是 2022 年的第一个版本!
此版本包含 46 项增强功能:14 项增强功能已升级为稳定版,15 项增强功能正在移至 Beta 版,13 项增强功能正在进入 Alpha 版。此外,还有两个功能已被弃用,两个功能已被删除。
主要主题
Dockershim 从 kubelet 中移除
在 v1.20 中弃用后,dockershim 组件已从 Kubernetes v1.24 中的 kubelet 中删除。从 v1.24 开始,您需要使用其他支持的运行时(例如 containerd 或 CRI-O),或者如果您依赖 Docker Engine 作为容器运行时,则使用 cri-dockerd。有关确保您的集群为此次移除做好准备的更多信息,请参阅本指南。
默认禁用 Beta API
默认情况下,新的 Beta API 将不会在集群中启用。现有的 Beta API 和现有 Beta API 的新版本将继续默认启用。
签署发布工件
发布工件使用cosign签名签署,并且验证图像签名具有实验性支持。发布工件的签名和验证是提高 Kubernetes 发布过程的软件供应链安全性的一部分。
OpenAPI v3
Kubernetes 1.24 提供以 OpenAPI v3 格式发布其 API 的 Beta 支持。
存储容量和卷扩展正式发布
存储容量跟踪支持通过 CSIStorageCapacity 对象公开当前可用的存储容量,并增强了使用具有延迟绑定的 CSI 卷的 pod 的调度。
卷扩展添加了对调整现有持久卷大小的支持。
NonPreemptingPriority 升级为稳定版
此功能为 PriorityClasses 添加了一个新选项,可以启用或禁用 pod 抢占。
存储插件迁移
正在进行的工作是迁移内部存储插件的内部以调用 CSI 插件,同时保持原始 API。Azure Disk 和 OpenStack 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 地址池中自动分配,从而降低冲突的风险。
可以分配 Service ClusterIP
- 动态分配,这意味着集群将自动在配置的服务 IP 范围内选择一个空闲 IP。
- 静态分配,这意味着用户将在配置的服务 IP 范围内设置一个 IP。
服务 ClusterIP
是唯一的;因此,尝试创建已分配了 ClusterIP
的服务将返回错误。
动态 Kubelet 配置已从 Kubelet 中删除
在 Kubernetes 1.22 中弃用后,动态 Kubelet 配置已从 kubelet 中删除。该功能将在 Kubernetes 1.26 中从 API 服务器中删除。
CNI 版本相关的重大更改
在升级到 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 快照
此信息是在首次发布后添加的。
VolumeSnapshot v1beta1 CRD 已删除。Kubernetes 和容器存储接口 (CSI) 的卷快照和还原功能,它提供标准化的 API 设计 (CRD) 并为 CSI 卷驱动程序添加 PV 快照/还原支持,在 v1.20 中移至 GA。VolumeSnapshot v1beta1 在 v1.20 中已弃用,现在不受支持。有关更多信息,请参阅KEP-177: CSI 快照和卷快照 GA 博客。
其他更新
升级为稳定版
此版本看到 14 项增强功能升级为稳定版
- 容器存储接口 (CSI) 卷扩展
- Pod 开销:考虑与 pod 沙箱相关但不特定于容器的资源。
- 将非抢占选项添加到 PriorityClasses
- 存储容量跟踪
- OpenStack Cinder 从内部迁移到 CSI 驱动程序
- Azure Disk 从内部迁移到 CSI 驱动程序
- 高效的 Watch 恢复:kube-apiserver 重新启动后可以有效地恢复 Watch。
- Service Type=LoadBalancer 类字段:引入新的服务注释
service.kubernetes.io/load-balancer-class
,允许在同一集群中实现type: LoadBalancer
服务的多种实现。 - 索引作业:向具有固定完成计数的作业的 Pod 添加完成索引。
- 向 Jobs API 添加 Suspend 字段:向 Jobs API 添加一个 suspend 字段,以允许编排器创建可以更好地控制何时创建 pod 的作业。
- Pod 亲和性 NamespaceSelector:为 pod 亲和性/反亲和性规范添加一个
namespaceSelector
字段。 - 控制器管理器的领导者迁移:kube-controller-manager 和 cloud-controller-manager 可以在高可用控制平面中应用新的控制器到控制器管理器分配,而不会停机。
- CSR 持续时间:扩展 CertificateSigningRequest API,使其具备允许客户端请求颁发证书的特定持续时间的机制。
主要变更
此版本有两个主要变更
发行说明
请在我们的发行说明中查看 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:观星者

Kubernetes 1.24 的主题是观星者。
从古代天文学家到建造詹姆斯·韦伯太空望远镜的科学家,世世代代的人们都敬畏和惊奇地仰望星空。星星激励了我们,点燃了我们的想象力,并在艰难的航海之夜指引着我们。
随着这个版本的发布,我们仰望天空,展望当我们的社区团结起来时可能实现的目标。Kubernetes 是全球数百名贡献者和数千名支持服务数百万应用程序的最终用户共同努力的成果。每一个人都是我们天空中的一颗星星,帮助我们规划前进的道路。
发布徽标由 Britnee Laverack 创作,描绘了置于星空上的望远镜和 昴星团,在神话中通常被称为“七姐妹”。数字七对于 Kubernetes 项目来说尤其吉祥,并且是对我们最初的“Project Seven”名称的回溯。
这个版本的 Kubernetes 以那些会仰望夜空并感到好奇的人命名 —— 为了所有在那里的观星者。✨
用户亮点
- 了解领先的零售电子商务公司 La Redoute 如何使用 Kubernetes 以及其他 CNCF 项目来转变和简化其软件交付生命周期 - 从开发到运营。
- 为了确保对 API 调用的任何更改都不会导致任何中断,Salt Security 完全基于 Kubernetes 构建其微服务,并通过 gRPC 通信,同时 Linkerd 确保消息被加密。
- 在他们从私有云迁移到公有云的过程中,Allainz Direct 工程师在短短三个月内重新设计了其 CI/CD 管道,同时设法将 200 个工作流精简至 10-15 个。
- 了解总部位于英国的金融科技公司 Bink 如何使用 Linkerd 更新其内部 Kubernetes 发行版,以构建一个云无关的平台,该平台可以根据需要进行扩展,同时让他们密切关注性能和稳定性。
- 通过使用 Kubernetes,荷兰组织 Stichting Open Nederland 在短短一个半月内创建了一个测试门户,以帮助安全地重新开放荷兰的活动。 进入测试(Testen voor Toegang)平台利用 Kubernetes 的性能和可扩展性来帮助个人每天预约超过 400,000 次 COVID-19 检测。
- 通过与 SparkFabrik 合作并利用 Backstage,Santagostino 创建了开发者平台 Samaritan,以集中服务和文档,管理服务的整个生命周期,并简化 Santagostino 开发人员的工作。
生态系统更新
- KubeCon + CloudNativeCon Europe 2022 将于 2022 年 5 月 16 日至 20 日在西班牙瓦伦西亚举行!您可以在活动网站上找到有关会议和注册的更多信息。
- 在2021 年云原生调查中,CNCF 发现 Kubernetes 和容器的采用率创下历史新高。查看调查结果。
- Linux 基金会和云原生计算基金会 (CNCF) 宣布推出新的 云原生开发者训练营,旨在为参与者提供设计、构建和部署云原生应用程序的知识和技能。 查看公告以了解更多信息。
项目速度
CNCF K8s DevStats 项目汇总了许多与 Kubernetes 和各种子项目的速度相关的有趣数据点。 这包括从个人贡献到正在贡献的公司的数量的一切信息,并且说明了为发展此生态系统所付出的努力的深度和广度。
在 v1.24 发布周期中,该周期运行了 17 周(1 月 10 日至 5 月 3 日),我们看到了来自 1029 家公司和 1179 名个人的贡献。
即将发布的网络研讨会
加入 Kubernetes 1.24 发布团队成员于 2022 年 5 月 24 日星期二上午 9:45 – 11:00(太平洋时间)举行的会议,了解此版本的主要功能以及有助于规划升级的弃用和删除。 有关更多信息和注册,请访问 CNCF 在线计划网站上的活动页面。
参与其中
参与 Kubernetes 的最简单方法是加入与您的兴趣相符的众多特别兴趣小组 (SIG) 之一。 有什么想向 Kubernetes 社区广播的内容吗? 在我们每周的社区会议以及以下渠道中分享您的声音
- 在Kubernetes 贡献者网站上了解有关为 Kubernetes 做出贡献的更多信息
- 在 Twitter 上关注我们 @Kubernetesio,获取最新更新
- 在 Discuss 上加入社区讨论
- 在 Slack 上加入社区
- 在Server Fault 上发布问题(或回答问题)。
- 分享您的 Kubernetes 故事
- 在博客上阅读有关 Kubernetes 最新动态的更多信息
- 了解有关Kubernetes 发布团队的更多信息