-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use systemd as the cgroup driver for kubelet and CRI #10372
Comments
/assign @bharath-123 |
Was having a discussion with @bmelbourne on this referring to PR 9879. It seems like there was a consensus that moving to systemd cgroup driver would be a big breaking change for users. I do agree that this can be a breaking change. Defaulting to systemd for kubelet and container runtimes is pretty straightforward, we only have to set a couple of default options nothing too much. @hakman @olemarkus @bmelbourne would love to know your thoughts on this before putting any effort on this. |
One can already set systemd as driver for kubelet, right? So what is missing is setting the appropriate driver for containerd. I am not sure what the breaking change would be. From what I can tell, there are mostly benefits from this change. Compared to the change done for docker, I would really like to see some validation logic ensuring that the containerd and kubelet config match. |
I would like to not have so much logic for a setting that most people won't notice or change. Defaulting to this for 1.20+ should be ok. Validating the kubelet and container runtime match seems overkill to me. Documentation should be good enough. |
Had a more detailed discussion with @olemarkus and agreed on to do here:
|
alright got these points. Will raise a PR with code keeping all of these in mind. Thanks! |
Thanks also for doing this. |
@bharath-123
From a Kops perspective, this was deemed to be too complex for the rolling update feature to deal with, as updates only work on existing nodes in a k8s cluster, hence why |
@bmelbourne from what I know, kOps just replaces each node, so should not matter much. There won's be any mismatch between kubelet and runtime on any one the nodes, even if some will use cgroupfs or and others systemd. |
That's good to know. I'll be happy to test whatever the final solution might be once the PR has been raised. |
And I will be happy to review it 😁 |
Working on it. Ran into a bunch of issues with nodeup and containerd configs. mostly resolved now :) |
Currently in kops, kubelet and the container runtimes use cgroupfs driver as the cgroup-manager. Kubernetes recommends using systemd as the default cgroup-manager for kubelet and the container runtimes. Some projects like kubeadm and minikube have moved to set systemd as the default cgroup-driver.
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
kubernetes/minikube#6651
truenas/middleware#5263
kubernetes/kubernetes#73837
The text was updated successfully, but these errors were encountered: