Kubernetes v1.34:节点 Cgroup 驱动程序自动配置升级到 GA

历史上,配置正确的 CGroup 驱动程序一直是运行新 Kubernetes 集群的用户的痛点。 在 Linux 系统上,有两种不同的 cgroup 驱动程序:cgroupfssystemd。 过去,kubelet 和 CRI 实现(如 CRI-O 或 containerd)都需要配置为使用相同的 CGroup 驱动程序, 否则 kubelet 会出现异常行为而没有任何明确的错误消息。这曾是许多集群管理员头痛的根源。 现在,我们(几乎)已经结束了这种头痛。

自动化 CGroup 驱动程序检测

在 v1.28.0 中,SIG Node 社区引入了特性门控 KubeletCgroupDriverFromCRI, 它指示 kubelet 询问 CRI 实现应该使用哪种 CGroup 驱动程序。 你可以在此处阅读更多内容。 经过多个版本的等待,每个 CRI 实现都发布了主要版本并打包到主要操作系统中, 此特性从 Kubernetes 1.34.0 开始升级为 GA。

除了设置特性门控外,集群管理员还需要确保他们的 CRI 实现足够新:

  • containerd:在 v2.0.0 中添加了支持
  • CRI-O:在 v1.28.0 中添加了支持

公告:Kubernetes 弃用 containerd v1.y 支持

虽然 CRI-O 发布与 Kubernetes 版本匹配的版本,因此不再支持没有此行为的 CRI-O 版本, 但 containerd 保持其自己的发布周期。此功能的 containerd 支持仅在 v2.0 及更高版本中可用, 但 Kubernetes 1.34 仍然支持 containerd 1.7 和其他 containerd 的 LTS 版本。

Kubernetes SIG Node 社区已正式同意 containerd v1.y 的最终支持时间表。 提供此支持的最后一个 Kubernetes 版本将是 v1.35 的最后一个发布版本,支持将在 v1.36.0 中删除。 为了帮助管理员管理此未来过渡,提供了一种新的检测机制。 你可以监控 kubelet_cri_losing_support 指标来确定集群中的任何节点是否正在使用即将过时的 containerd 版本。 此指标存在 1.36.0 版本标签将表明节点的 containerd 运行时对于即将到来的要求来说不够新。 因此,管理员需要在将 kubelet 升级到 v1.36.0 之前或同时将 containerd 升级到 v2.0 或更高版本。

最后修改 June 24, 2026 at 2:02 PM PST: [zh-cn]Add blog: auto-node-configuration-goes-ga (0962a38c48)