Kubernetes 1.23:下一个前沿
我们很高兴地宣布 Kubernetes 1.23 发布,这是 2021 年的最后一个版本!
此版本包含 47 项增强功能:11 项增强功能已升级为稳定版,17 项增强功能正在迁移到 beta 版,19 项增强功能正在进入 alpha 版。此外,1 项功能已被弃用。
主要主题
FlexVolume 的弃用
FlexVolume 已弃用。建议使用树外 CSI 驱动程序在 Kubernetes 中编写卷驱动程序。有关更多信息,请参阅此文档。FlexVolume 驱动程序的维护者应实现 CSI 驱动程序,并将 FlexVolume 的用户迁移到 CSI。FlexVolume 的用户应将其工作负载迁移到 CSI 驱动程序。
klog 特定标志的弃用
为了简化代码库,Kubernetes 1.23 中一些日志标志被标记为已弃用。实现这些标志的代码将在未来的版本中删除,因此这些标志的用户需要开始使用一些替代解决方案来替换已弃用的标志。
Kubernetes 发布流程中的软件供应链 SLSA 1 级合规性
Kubernetes 发布版本现在生成描述发布流程的暂存和发布阶段的来源证明文件。当工件从一个阶段传递到下一个阶段时,现在会对其进行验证。最后一部分完成了符合SLSA 安全框架(软件工件的供应链级别) 1 级所需的工作。
IPv4/IPv6 双栈网络升级为 GA
IPv4/IPv6 双栈网络升级为 GA。自 1.21 以来,Kubernetes 集群默认已启用对双栈网络的支持。在 1.23 中,IPv6DualStack
功能门已删除。使用双栈网络不是强制性的。尽管集群已启用以支持双栈网络,但 Pod 和服务仍然默认为单栈。要使用双栈网络,Kubernetes 节点必须具有可路由的 IPv4/IPv6 网络接口,必须使用支持双栈的 CNI 网络插件,必须将 Pod 配置为双栈,并且必须将服务的 .spec.ipFamilyPolicy
字段设置为 PreferDualStack
或 RequireDualStack
。
HorizontalPodAutoscaler v2 升级为 GA
HorizontalPodAutoscaler autoscaling/v2
稳定版 API 在 1.23 中升级为 GA。HorizontalPodAutoscaler autoscaling/v2beta2
API 已被弃用。
通用临时卷功能升级为 GA
通用临时卷功能在 1.23 中升级为 GA。此功能允许将任何支持动态配置的现有存储驱动程序用作临时卷,该卷的生命周期绑定到 Pod。支持所有用于卷配置的 StorageClass 参数以及 PersistentVolumeClaims 支持的所有功能。
跳过卷所有权更改升级为 GA
配置 Pod 的卷权限和所有权更改策略的功能在 1.23 中升级为 GA。这允许用户跳过挂载时的递归权限更改,并加快 Pod 启动时间。
允许 CSI 驱动程序选择加入卷所有权和权限更改功能升级为 GA
允许 CSI 驱动程序声明支持基于 fsGroup 的权限的功能在 1.23 中升级为 GA。
PodSecurity 升级为 Beta 版
PodSecurity 升级为 Beta 版。PodSecurity
取代了已弃用的 PodSecurityPolicy
准入控制器。PodSecurity
是一个准入控制器,它根据设置执行级别的特定命名空间标签,对命名空间中的 Pod 强制执行 Pod 安全标准。在 1.23 中,默认启用 PodSecurity
功能门。
容器运行时接口 (CRI) v1 是默认值
Kubelet 现在支持 CRI v1
API,该 API 现在是项目范围的默认值。如果容器运行时不支持 v1
API,Kubernetes 将回退到 v1alpha2
实现。最终用户无需执行任何中间操作,因为 v1
和 v1alpha2
的实现方式没有差异。为了能够开发 v1
,v1alpha2
可能会在未来的 Kubernetes 版本中删除。
结构化日志升级为 Beta 版
结构化日志已达到其 Beta 里程碑。来自 kubelet 和 kube-scheduler 的大多数日志消息都已转换。鼓励用户尝试 JSON 输出或解析结构化文本格式,并就开放问题的可能解决方案提供反馈,例如处理日志值中的多行字符串。
用于调度程序的简化的多点插件配置
kube-scheduler 正在为插件添加一个新的、简化的配置字段,以允许在一个位置启用多个扩展点。新的 multiPoint
插件字段旨在简化管理员的大多数调度程序设置。通过 multiPoint
启用的插件将自动注册到它们实现的每个单独的扩展点。例如,实现 Score 和 Filter 扩展的插件可以同时为两者启用。这意味着可以启用和禁用整个插件,而无需手动编辑单个扩展点设置。由于这些扩展点与大多数用户无关,因此现在可以抽象出来。
CSI 迁移更新
CSI 迁移支持使用相应的 CSI 驱动程序替换现有的树内存储插件,例如 kubernetes.io/gce-pd
或 kubernetes.io/aws-ebs
。如果 CSI 迁移正常工作,Kubernetes 最终用户不应注意到任何差异。迁移后,Kubernetes 用户可以使用现有接口继续依赖树内存储插件的所有功能。
- CSI 迁移功能默认启用,但在 1.23 中对于 GCE PD、AWS EBS 和 Azure Disk 仍处于 Beta 状态。
- CSI 迁移在 1.23 中作为 Ceph RBD 和 Portworx 的 Alpha 功能引入。
用于 CRD 的表达式语言验证是 alpha
用于 CRD 的表达式语言验证从 1.23 开始处于 alpha 状态。如果启用了 CustomResourceValidationExpressions
功能门,则将使用通用表达式语言 (CEL)验证规则来验证自定义资源。
服务器端字段验证是 Alpha
如果启用了 ServerSideFieldValidation
功能门,从 1.23 开始,当用户在请求中发送包含未知或重复字段的 Kubernetes 对象时,他们将收到来自服务器的警告。以前,服务器会删除未知字段和除最后一个重复字段以外的所有重复字段。
启用该功能门后,我们还引入了 fieldValidation
查询参数,以便用户可以根据每个请求指定服务器的所需行为。fieldValidation
查询参数的有效值是
- Ignore(禁用功能门时的默认值,与 1.23 之前的删除/忽略未知字段的行为相同)
- Warn(启用功能门时的默认值)。
- Strict(这将导致请求失败,并出现无效请求错误)
OpenAPI v3 是 Alpha
如果启用了 OpenAPIV3
功能门,从 1.23 开始,用户将能够为所有 Kubernetes 类型请求 OpenAPI v3.0 规范。OpenAPI v3 旨在完全透明,并包括对发布 OpenAPI v2 时删除的一组字段的支持:default
、nullable
、oneOf
、anyOf
。每个 Kubernetes 组版本都会发布单独的规范(在 $cluster/openapi/v3/apis/<group>/<version>
端点),以提高性能和发现能力,所有组版本都可以在 $cluster/openapi/v3
路径下找到。
其他更新
升级为稳定版
- IPv4/IPv6 双栈支持
- 跳过卷所有权更改
- 完成控制器后的 TTL
- CSI 驱动程序对象中的配置 FSGroup 策略
- 通用临时内联卷
- 通过静态分析防御记录机密信息
- 命名空间范围的 Ingress 类参数
- 减少 Kubernetes 构建维护
- 将 HPA API 升级为 GA
主要变更
发行说明
请在我们的发行说明中查看 Kubernetes 1.23 发行的完整详细信息。
可用性
Kubernetes 1.23 可在 GitHub 上下载。要开始使用 Kubernetes,请查看这些交互式教程,或使用 Docker 容器“节点”运行本地 Kubernetes 集群,kind。您还可以使用 kubeadm 轻松安装 1.23。
发布团队
本次发布得益于一群非常敬业的个人,他们组成团队,共同交付了技术内容、文档、代码以及每个 Kubernetes 版本中的许多其他组件。
非常感谢发布负责人 Rey Lejano 带领我们成功完成发布周期,并感谢发布团队中的其他成员互相支持,努力工作,为社区交付了 1.23 版本。
发布主题和徽标
Kubernetes 1.23:下一个前沿

“下一个前沿”主题代表了 1.23 版本中新的和成熟的增强功能、Kubernetes 对《星际迷航》的致敬历史以及发布团队中社区成员的成长。
Kubernetes 有向《星际迷航》致敬的历史。 Kubernetes 在 Google 中的原始代号是 Project 7,这是对《星际迷航:航海家号》中的七之九的致敬。 当然,Borg 是 Kubernetes 的前身。“下一个前沿”主题延续了《星际迷航》的致敬。“下一个前沿”融合了两个《星际迷航》的标题,《星际迷航 V:最终边疆》和《星际迷航:下一代》。
“下一个前沿”代表了 SIG Release 章程中的一句话,“确保有一个由社区成员组成的一致小组来支持跨时间的发布过程。” 随着每个发布团队的成立,我们都会通过新的发布团队成员来壮大社区,对于许多人来说,这是他们在开源前沿的第一次贡献。
参考链接:https://kubernetes.top/blog/2015/04/borg-predecessor-to-kubernetes/ 参考链接:https://github.com/kubernetes/community/blob/master/sig-release/charter.md
Kubernetes 1.23 版本的徽标延续了主题对《星际迷航》的致敬。每颗星星都是 Kubernetes 徽标中的舵。飞船代表了发布团队的集体协作。
Rey Lejano 设计了该徽标。
用户亮点
- 最新的 CNCF 最终用户技术雷达的调查结果以 DevSecOps 为主题。查看雷达页面,了解完整详细信息和调查结果。
- 了解最终用户 Aegon Life India 如何将其核心流程从传统的单体架构迁移到基于微服务的架构,从而努力转型为领先的数字服务公司。
- 通过利用多个云原生项目,希捷(Seagate)设计了 edgerX 以在边缘运行实时分析。
- 了解 赞邦(Zambon)如何与 SparkFabrik 合作,使用云原生技术开发了 16 个网站,使利益相关者可以轻松更新内容,同时保持一致的品牌形象。
- 通过使用 Kubernetes,InfluxData 能够通过创建一个真正的云抽象层来实现多云、多区域服务可用性的承诺,该抽象层允许将 InfluxDB 作为单个应用程序无缝交付到三大云提供商的多个全球集群中。
生态系统更新
- KubeCon + CloudNativeCon NA 2021 于 2021 年 10 月在线和现场举行。所有演讲现在都可按需观看,供任何想了解最新情况的人观看!
- Kubernetes 和云原生基础培训以及 KCNA 认证现已全面开放注册和安排。此外,还发布了一门新的在线培训课程,Kubernetes 和云原生基础知识 (LFS250),旨在帮助个人为入门级云职位做好准备,并参加 KCNA 考试。
- 包容性命名倡议现已提供新资源,包括开源包容性策略 (LFC103) 课程、语言评估框架和实施路径。
项目速度
CNCF K8s DevStats 项目汇总了与 Kubernetes 和各个子项目的速度相关的许多有趣的数据点。这包括从个人贡献到正在贡献的公司的数量的所有内容,并说明了为发展这个生态系统而投入的努力的深度和广度。
在 v1.23 发布周期(从 8 月 23 日到 12 月 7 日,为期 16 周)中,我们看到了来自 1032 家公司和 1084 名个人的贡献。
活动更新
- KubeCon + CloudNativeCon 中国 2021 将于本月 12 月 9 日至 11 日举行。在去年休息一年之后,今年的活动将以虚拟形式举行,包括 105 场会议。查看此处的活动日程。
- KubeCon + CloudNativeCon 欧洲 2022 将于 2022 年 5 月 4 日至 7 日在西班牙巴伦西亚举行!您可以在活动网站上找到有关会议和注册的更多信息。
- Kubernetes 社区日计划在巴基斯坦、巴西、成都和澳大利亚举行。
即将发布的版本网络研讨会
加入 Kubernetes 1.23 发布团队的成员,于 2022 年 1 月 4 日了解此版本的主要功能,以及弃用和删除项,以帮助您规划升级。有关更多信息和注册,请访问 CNCF 在线课程网站上的 活动页面。
参与进来
参与 Kubernetes 的最简单方法是加入符合您兴趣的众多特别兴趣小组 (SIG) 之一。您有什么想向 Kubernetes 社区广播的吗?在我们的每周社区会议上并通过以下渠道分享您的声音
- 在 Kubernetes 贡献者网站上了解有关为 Kubernetes 做出贡献的更多信息
- 在 Twitter 上关注我们 @Kubernetesio 以获取最新更新
- 在 Discuss 上加入社区讨论
- 在 Slack 上加入社区
- 在 Stack Overflow 上发布问题(或回答问题)
- 分享您的 Kubernetes 故事
- 在博客上了解有关 Kubernetes 的更多信息
- 了解有关 Kubernetes 发布团队的更多信息