-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
KEP-127: Support User Namespaces #1903
KEP-127: Support User Namespaces #1903
Conversation
Hi @mauriciovasquezbernal. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mauriciovasquezbernal The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/ok-to-test |
65ddf34
to
68ca8be
Compare
and make progress. | ||
--> | ||
|
||
- To have different uid/gid mappings per pod/container. All pods/containers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have another KEP for this in future? Or it won't be supported? (why?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely. Our plan is to scope this KEP to some specific use cases now and leave further improvements like that for the future.
@@ -165,6 +165,13 @@ updates. | |||
[documentation style guide]: https://github.com/kubernetes/community/blob/master/contributors/guide/style-guide.md | |||
--> | |||
|
|||
Container security consists of many different kernel features that work | |||
together to make containers secure. User namespaces is one such features that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
together to make containers secure. User namespaces is one such features that | |
together to make containers secure. User namespaces is one such feature that |
- To have different uid/gid mappings per pod/container. All pods/containers | ||
running in a node share a common user namespace remapping configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to distinguish the rationale for per pod mappings and per container mappings:
- To have different uid/gid mappings per pod/container. All pods/containers | |
running in a node share a common user namespace remapping configuration. | |
- To have different uid/gid mappings for each pod. All pods running in a | |
node share a common user namespace remapping configuration. There | |
is interest in the community for having different mappings for each pod | |
but for simplicity, this will not be specified in this initial KEP. | |
- To have different uid/gid mappings per container. By Kubernetes | |
design, all containers in a pod share the same network namespace. | |
Additionally, Linux requires that sysfs can only be mounted in a | |
container if the network namespace belongs to the current user | |
namespace. It follows that we can't have a different user namespace | |
for each container of the same pod. |
### Non-Goals | ||
|
||
<!-- | ||
What is out of scope for this KEP? Listing non-goals helps to focus discussion | ||
and make progress. | ||
--> | ||
|
||
- To have different uid/gid mappings per pod/container. All pods/containers | ||
running in a node share a common user namespace remapping configuration. | ||
- Remote volumes support e.g. NFS. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Remote volumes support e.g. NFS. | |
- Remote volumes support e.g. NFS. There is interest in the community for | |
supporting volumes such as NFS. However, this would increase the | |
complexity significantly to consider remapping ids for volumes. So this is | |
kept out of scope from this KEP and can be discussed in a future KEP | |
instead. |
New PR with complete proposal #2101. |
This PR adds the summary and motivation sections for a KEP proposing to support user namespaces.
This is not a new topic in Kubernetes as it has been discussed multiple times in the past. #127 was tracking the Support Node-Level User Namespaces Remapping design proposal. There was also a PR implementing that but it was never merged.
We want to continue pushing for this feature in Kubernetes, as a first step we are opening this PR that is mainly based on the existing design proposal. We'll continue updating the proposal to complete the KEP and we hope to open a follow up PR soon.
@rata @alban @sargun, @solarkennedy, @jigish
/cc @mrunalp
/sig node