Kubernetes 1.35 Drops Support For Legacy Cgroup V1 Nodes
Kubernetes 1.35 introduces a breaking change that prevents the kubelet from running on systems using cgroup v1, necessitating OS upgrades for older Linux distributions.
Kubernetes 1.35 introduces a breaking change by defaulting to reject nodes running cgroup v1. You can't start the kubelet service on legacy standards. Control-plane nodes will fail to initialize the API server and etcd after a reboot, which leaves clusters inoperable on legacy infrastructure.
Kubeadm preflight checks will now trigger an error during cluster initialization, joins, or upgrades if hosts miss the new requirements. CentOS 7, RHEL 7/8, Ubuntu 18.04/20.04, and Amazon Linux 2 are affected because they default to cgroup v1 and often run kernel versions below 5.8. Amazon Linux 2 lacks support for cgroup v2 entirely.
Check your nodes by inspecting the filesystem type at /sys/fs/cgroup. cgroup2fs means it's configured correctly, whereas tmpfs means cgroup v1. You can check a fleet using a debug container with kubectl debug and a busybox image, but you must use chroot /host to get accurate output.
A temporary escape hatch exists: setting failCgroupV1: false in the kubelet config. However, KEP-5573 documentation notes this flag will be removed no earlier than version 1.38. Plan your OS upgrades now.
