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 过渡。