-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
containerd does not work with cgroups v2 and systemd as cgroup driver #15633
Comments
i've re-run the TestForceSystemd{Flag,Env} tests after #15463 was merged into master and the situation looks a bit clearer in the context of this issue - namely, using
(*)workaround refers to this: minikube/pkg/minikube/bootstrapper/bsutil/kubeadm.go Lines 71 to 77 in 46bccc7
logs:docker_containerd - cgroupfs.log |
brief update 2: i've re-tested again locally - this time the @spowelljr's pr #15541 (that "embeds" updated binaries and actually applies the right container runtimes' configs), and also with the above workaround removed: if we confirm that with jenkins, we can close this ticket |
indeed, Docker_Linux_containerd and KVM_Linux_containerd do not have this issue anymore, so i'll close this ticket, as the containerd container runtime is now fully working with cgroups v2 and systemd as cgroup driver across the whole "stack", and so we've eliminated the workaround |
What Happened?
if the underlying os, docker driver, containerd container runtime and kubernetes/kubelet are all configured to use systemd as cgroup v2 controller, the cluster fails with eg:
k8s v1.25.3
or k8s v1.26.0
in all other combinations - cluster works, eg:
(interestingly!) if underlying os, docker driver and containerd container runtime are configured to use systemd as cgroup v2 controller but kubernetes/kubelet is configured to use cgroupfs as cgroup driver, the cluster works (this is currently used as a workaround the issue in pr improve how CRs and k8s work with CNI plugins and cgroup drivers #15463)
if underlying os, docker driver, containerd container runtime and kubernetes/kubelet are all configured to use cgroupfs as cgroup v1 controller, the cluster works
if docker is used as both driver and container runtime, and the whole "stack" (ie, os, driver, container runtime and k8s/kubelet) is configured to all use either systemd (as cgroup v2 controller) xor cgroupfs (as cgroup v1 controller), the cluster works
note: if we use eg, kvm driver, then we currently use iso that boots into cgroupfs by default, so everything would use the same and hence the cluster would work
test env:
Attach the log file
systemd - docker_containerd-1.6.15_k8s-1.25.3@ubuntu-22.04 - fail.log
systemd - docker_containerd-1.6.15_k8s-1.26.0@ubuntu-22.04 - fail.log
cgroupfs - docker_containerd-1.6.15_k8s-1.25.3@ubuntu-20.04 - pass.log
systemd - docker_docker-1.6.15_k8s-1.26.0@ubuntu-22.04 - pass.log
systemd - docker_docker-1.6.15_k8s-1.25.3@ubuntu-22.04 - pass.log
Operating System
Ubuntu
Driver
Docker
The text was updated successfully, but these errors were encountered: