KEP-2033keps/sig-node/2033-kubelet-in-userns-aka-rootless
Rootless mode
<!-- This section is incredibly important for producing high-quality, user-focused documentation such as release notes or a development roadmap. It should be possible to collect this information before implementation begins, in order to avoid requiring implementors to split their attention between writing release notes and implementing the feature itself. KE… Full summary
<!-- This section is incredibly important for producing high-quality, user-focused documentation such as release notes or a development roadmap. It should be possible to collect this information before implementation begins, in order to avoid requiring implementors to split their attention between writing release notes and implementing the feature itself. KEP editors and SIG Docs should help to ensure that the tone and content of the Summary section is useful for a wide audience. A good summary is probably at least a paragraph in length. Both in this section and below, follow the guidelines of the [documentation style guide]. In particular, wrap lines to a reasonable length, to make it easier for reviewers to cite specific portions, and to minimize diff churn on updates. [documentation style guide]: https://github.com/kubernetes/community/blob/master/contributors/guide/style-guide.md --> This KEP allows running the entire Kubernetes components (kubelet, CRI, OCI, CNI, and all kube-*) as a non-root user on the host, by running them in a user namespace. See Notes/Constraints/Caveats for the caveats. TLDR: Most things do work without modifying Kubernetes. But we need to modify a just few lines of kubelet and kube-proxy to ignore errors during setting some sysctl and rlimit values. See "Required changes to Kubernetes". Resources: - POC: Usernetes - A presentation at KubeCon NA 2020: https://sched.co/fGWc - Kubernetes PR: https://github.com/kubernetes/kubernetes/pull/92863 - Rootless k3s: https://github.com/k3s-io/k3s/blob/master/k3s-rootless.service - kind with Rootless Docker/Rootless Podman: https://kind.sigs.k8s.io/docs/user/rootless/ (It already works with unmodified Kubernetes, but contains dirty hack to fake procfs) - Proposal in minikube repo, for running Kubernetes in Rootless Docker: https://github.com/kubernetes/minikube/issues/9
Facts
- Authors
- @akihirosuda
- Approvers
- @sergeykanzhelev
- Tracking issue
- #2033(opens GitHub in a new tab) opensig/nodestage/beta
- Milestones
- alpha v1.22beta v1.37
- Participating SIGs
- none
- Feature gates
- KubeletInUserNamespace
- Created / last updated
- 2019-06-04 / none