-
Notifications
You must be signed in to change notification settings - Fork 716
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
remove the docker cgroup driver detection #874
Comments
--cgroup-driver
flag conditionally at kubeadm init time--cgroup-driver
flag conditionally at kubeadm init time for other CRIs
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/lifecycle frozen |
@neolit123 @kad - any update on this one ? |
AFAIK, it's not possible to detect a cgroup driver using crictl, yet. for docker we probe the output of the CLI. other CRIs don't allow that TMK and we need to parse configs. ideally this should be in the kubelet: |
I agree with @neolit123 here. There is no at the moment good way to reliably detect correct driver. |
@neolit123 want to re-eval for 1.14 cycle? |
@timothysc i don't see us finding a good solution for this in the next few cycles. EDIT: we now have this in the docs: some stats:
|
We may want to try to tackle this in 1.15. As part of the manual testing that I did for #1495, I found out that the instructions for CRI-O on Ubuntu here aren't up to date. We should verify that, but it seems to me, that most packages targeting systemd based Linux distros are moving to defaulting the cgroup driver to The other option is to continue adding detection code for the most popular CRIs out there and document a way of overriding it in the kubelet (via the config). |
EDIT: the docs there say this for contained, but nothing for cri-o:
this does not explain how to do it very well, but the link is here: (not using the config).
the question is how to automatically detect it. should we parse e.g.
it's rather sparse. docker defaults to cgroupfs and the kubelet has no plans to do the detection anytime soon or to move from it's default of cgroupfs.
the manual setup is documented here: the auto-detection for containerd and cri-o is under question - e.g. "what is the best way". |
For CRI-O, I asked this question in crio, and I think in the meantime we can get it from |
According to cri-o/cri-o#2416 (comment)
|
@chenzhiwei also, is there something similar for containerd? |
@neolit123 I will work on this after my PR kubernetes/kubernetes#77059 is merged. Will try to check with containerd team about this, I can't find it on google or containerd website. |
Now that we are encouraging the use of fully CRI-compliant runtimes, it might be time to implement this. Even if the Dockershim is maintained and provides a CRI-compliant interface, making it easy to use CRI-O or containerd during |
this is still problematic - doable but not maintainable as a layer in kubeadm. different container runtimes place their configuration in different locations, behind different tools and endpoints. so unless we have something consistent like
instead we could always default the kubelet configuration field (cgroupDriver) to https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cgroup-drivers |
@neolit123 I agree, pushing for the default to be |
this is already possible via the KubeletConfiguration field during "kubeadm init".
a preflight check to tell the user that "cgroupfs" is not recommended if they used the override?
1.20 is in code freeze, but we can try making these changes in 1.21. |
Sorry, new to this and probably could have been more clear!
Right, yes!
No, I meant a pre-flight check that ensures users are using
Sounds good! Hopefully this helps some people going forward :) |
changing OP and description /retitle remove the docker cgroup driver detection |
--cgroup-driver
flag conditionally at kubeadm init time for other CRIs
the OP now includes details on how you can help us with removing this detection. |
this work is done. |
old issue was tracking cgroup driver detection for docker and other CRs
this is targeting 1.22.
remove the docker cgroupdriver detection in kubeadm:
k/k PR:
kubeadm: remove the cgroup driver detection for docker kubernetes#99647
k/website PR:
kubernetes/website@2355094#diff-548585d5ff3dc7ff8a61b658052d84f223adca9361c9a4df3a8ce1105d9413bb
pin the cgroup driver for docker / containerd to "systemd" in kinder. should be done here; information about setting the driver for CRs is here
kinder: pin the CR cgroup driver to "systemd" #2495
old description:
this was already done for docker:
#844
we need to detect the driver for other CRI as well.
Docker PR:
kubernetes/kubernetes#64347
Document outlining some of the previous proposals and issues for handling this in the kubelet:
https://github.com/filbranden/community/blob/009f067c6bc106d062a416d0a1537de5ffa8c023/contributors/design-proposals/node/cgroup-driver-kubelet-and-runtime.md
The text was updated successfully, but these errors were encountered: