综合 Kubernetes v1.35:cgroup v1 节点 kubelet 不再启动,containerd 1.x 走到最后一版

2026-10-04 21:02:38

Kubernetes v1.35:cgroup v1 节点 kubelet 不再启动,containerd 1.x 走到最后一版

Kubernetes v1.35(代号 Timbernetes)于 2025-12-17 发布,包含 60 项增强。集群侧需要动手的改动集中在几处:cgroup v1 支持被移除、containerd 1.x 进入最后一个受支持的版本、kube-proxy 的 ipvs 模式被弃用、一个 kubelet 启动标志被删除,以及 Ingress NGINX 的归档时间表。

cgroup v1 从 kubelet 中移除

v1.35 起,kubelet 默认在 cgroup v1 节点上拒绝启动。跑在不支持 cgroup v2 的老 Linux 发行版上的节点必须先迁移,否则升级后 kubelet 直接起不来。

过渡手段是把 failCgroupV1 设为 false:

failCgroupV1: false

托管集群的行为差异需要留意:

  • AL2023:默认使用 cgroup v2,无需额外处理。
  • Bottlerocket 1.35:已经切到 cgroup v2,但为向后兼容把 failCgroupV1 设为 false。
  • Fargate:仍然使用 cgroup v1。

自建节点如果内核或发行版停留在不支持 cgroup v2 的版本,迁移是硬性前置条件,不是可选项。

containerd 1.x 退役

Kubernetes 1.35 是最后一个支持 containerd 1.7 及其他 LTS 版本的发行版。在升级到下一个 Kubernetes 版本之前,必须先切到 containerd 2.0 或更高版本。也就是说 1.35 是给 containerd 升级留出的窗口期,跨版本升级时容器运行时的替换要排在前面的步骤里。

kube-proxy ipvs 模式弃用

kube-proxy 的 ipvs 模式已弃用。配置为 ipvs 时,kube-proxy 会在启动阶段打印告警。迁移方向是 nftables,Linux 节点需要改用 nftables。

--pod-infra-container-image 标志被移除

kubelet 的 --pod-infra-container-image 标志在 v1.35 中被移除。使用自定义 AMI 的用户如果启动参数里还带着它,需要在升级到 1.35 之前清理掉。

Ingress NGINX 与 Gateway API

Ingress NGINX 转入 best-effort 维护,持续到 2026 年 3 月,之后项目归档,不再有后续更新。官方建议迁移到 Gateway API。

同版本的其他变化

  • In-Place Pod Resource Updates 进入 GA:可以在不重启 Pod 的前提下调整 CPU/内存。
  • PreferSameNode Traffic Distribution 稳定。
  • StatefulSet maxUnavailable(beta):支持 Pod 并行更新。
  • Pod Generation。
  • SPDY 向 WebSockets 过渡。

参考

复制全文 生成海报 Kubernetes 容器 运维 cgroup

推荐文章

程序员茄子在线接单