-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Parameterize kubelet root directory (/var/lib/kubelet) #11988
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
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ant31 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
20f8177
to
5114f19
Compare
/retest |
/ok-to-test |
/hold It's not so easy to change the default. Too many operator, csi and other software in the ecosystem have hardcoded /var/lib/kubelet. |
04f4526
to
fe4f805
Compare
/unhold PR is ready. |
In light of this, do we actually want to support that ? That's quite the corner case. The original issue has 0 actual use case for this, so I don't see (yet, at least) what's the purpose would be. |
Yes, This PR provide enough to workaround that. |
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@vanteen up ^ |
Sorry, I though I replied but I must had forgot to hit Send.
Yes,
Some provider offer little flexibility on the boot volume partition, or with some complexity. It was the case on equinix and it s the case on oracle cloud.
For equinix I went with long and manual workaround for Oracle cloud, I ve parameterized kubelet root and containerd to use faster and bigger volume
I had not seen that you changed to a bind-mount implementation, sorry.
I'm still not sure we should do this in Kubespray, honestly. The current implementation use a bind-mount, but another frequent use cases is to have a specific FS volume mounted here.
Basically this is rather general, and rather easy to setup outside of kubespray (e.g. in a parent playbook importing kubespray).
Maybe we could instead have an extra_playbook doing that ?
Also, I'm not sure the migrate part is safe. Newly opened files will be fine, but process holding file descriptors to files or directories there will have a no longer updated view of the world, which could cause subtle bugs
|
ok for me |
What type of PR is this?
What this PR does / why we need it:
In some situation, users wants to use a different directory than the default "/var/lib/kubelet'.
It was previously possible by setting the
kubelet_custom_flags
but many roles were still hardcoded to "/var/lib/kubelet".Which issue(s) this PR fixes:
Fixes #7087
Special notes for your reviewer:
Not sure the best way to handle users that were using the
kubelet_custom_flags
.Does this PR introduce a user-facing change?: