In CKS lecture, I tried "cluster upgrade lab", but worker node upgrade didn't work

Hello,

I tried Cluster Upgrade lab in the CKS lecture.
I finished controlplane upgrade without any problem.

But, whenever I tried to upgrade worker node.
There was an error like this.

I followed kodekloud’s solution and k8s official docs. But this problem didn’t solve.
I want to clarify whether it is bug and know the root cause of this problem.

Thanks.

I believe that this is your problem:

cgroup v1 support

On Linux nodes, container runtimes typically rely on cgroups (short for “control groups”). Support for using cgroup v2 has been stable in Kubernetes since v1.25, providing an alternative to the original v1 cgroup support. While cgroup v1 provided the initial resource control mechanism, it suffered from well-known inconsistencies and limitations. Adding support for cgroup v2 allowed use of a unified control group hierarchy, improved resource isolation, and served as the foundation for modern features, making legacy cgroup v1 support ready for removal. The removal of cgroup v1 support will only impact cluster administrators running nodes on older Linux distributions that do not support cgroup v2; on those nodes, the kubelet will fail to start. Administrators must migrate their nodes to systems with cgroup v2 enabled. More details on compatibility requirements will be available in a blog post soon after the v1.35 release.

Looking at the lab, containerd 1.6.26 is installed:

controlplane ~ ➜  containerd --version
containerd containerd.io 1.6.26 3dd1e886e55dd695541fdcd67420c2888645a495

So to do the lab right now, you’ll need to upgrade containerd to v2.

Hello rob,

if I remember correctly, there was no lecture on the containerd upgrade.
I think labs are meant to be a tool for practicing and reinforcing the theory learned earlier in the course.
However, if learners are expected to work on something they have not been taught, and there is not even any guideline provided, how can they understand what the problem is and solve it?
In fact, I couldn’t see any such instruction in the solution of the lab.
I think the instruction should be reinforced.

I wanted to share my thoughts in the hope of helping make the course better.

Thanks.

There was not such a lecture. Officially you don’t need to know that for CKS, but it is in fact needed for upgrading clusters to v1.35 and above.

I’ve asked engineering to modify the lab to pre-install containerd.io v2 into the lab, since I agree there’s no way you’d know how to do that from the course. But if you want to do the lab until they do that, you’ll need to upgrade containerd.

1 Like