-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Unable to launch on ubuntu 22.04 with cgroupv2 #7671
Comments
/cc @manninglucas I've seen this error before when |
sorry for long reply...
Shim log is empty |
problem solved by adding
to containerd options |
Well, nope. False alarm. Trying with
i'm still seeing same error. Not sure what triggered running it while i was debugging completely different problem. Ubuntu 22.04 have cgroupv2 mounted by default to /sys/fs/cgroup
Ubuntu 20.04 had cgroupv1 |
Could you try to add SystemdCgroup = true in plugins.cri.containerd.runtimes.runsc.options? |
Yeah, i tried, nothing happens. If i enable systemdcgroups in runsc.toml, it then throws me error about invalid cgroup format. |
Interesting fact: it fails only on control-plane nodes. My control-plane is not tainted (default in k3s), but as soon as i used nodeselector to point to some worker node it works. Configs are the same everywhere. |
If i explicitely set systemd-cgroup to true in runsc_config, i'm getting following message:
What's really interesting is that k3s on control-plane generates following containerd config, where it doesn't launch, either with device/resource busy or format error (in case we enforce systemd-cgroup)
and here is one from worker nodes, where gvisor works perfectly:
There is no major differences between those k3s installs: same OSes, same kernels, same k3s versions, and containerd config is generated from exact same template (you can see it here: https://github.com/k3s-io/k3s/blob/v1.24.2%2Bk3s1/pkg/agent/templates/templates_linux.go). But, strangely enough, there is difference between generated configs: one (worker) is having
In runc options (and also in runsc, since i also added it to template) and another (master) don't:
Should ask k3s why it's like that, but still, any ideas on how to get gvisor working on all nodes? |
looks like regression in k3s. I'll wait for next release where this will be fixed and will report if it will help. |
In the end, it was k3s regression: k3s-io/k3s#5851 Built version with fix and k3s on masters started to work properly. Sorry for bothering! |
Description
Recently moved to another provider and upon creation of gvisor-backed pod i see following error:
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: failed to create shim: OCI runtime create failed: creating container: write /sys/fs/cgroup/kubepods/besteffort/pod66933fac-4dba-4c07-a80a-f3f01253cb7c/cgroup.procs: device or resource busy: unknown
Configs are same - deployed from same ansible role.
Major difference is ubuntu 22.04 lts vs 20.04 (was working on 20.04), maybe kernel issue?
20.04 was running with
Steps to reproduce
k3s 1.23.6, standard runtime class from docs.
containerd://1.5.11-k3s2
Test manifest:
runsc version
docker version (if using docker)
No response
uname
Linux master-2 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
kubectl (if using Kubernetes)
The text was updated successfully, but these errors were encountered: