KEP-5607: Add implementation content for v1.36#5745
KEP-5607: Add implementation content for v1.36#5745k8s-ci-robot merged 1 commit intokubernetes:masterfrom
Conversation
|
I think I could use a bit of clarity on https://github.com/kubernetes/kubernetes/pull/135828/changes#r2733484515: if the node has some runtime handlers that use this, but some that don't, then is it possible to have the scheduler deny, or is potentially getting stuck in ContainerCreating in that case unavoidable? |
078576c to
c75fa98
Compare
22b094a to
4f0891c
Compare
| - `nodev`: Prevents unauthorized access to hardware through device files. | ||
| - `noexec`: Prevents execution of binary programs from the mounted filesystem. | ||
| - `rbind`: Ensures that the directory is mounted along with all its sub-mount points. | ||
| - `rro`: Ensures that the entire directory tree, including sub-mount points, is mounted as read-only. |
There was a problem hiding this comment.
Regarding the issue of mount options, there is currently some controversy as we have not yet clarified whether we should adopt rro or continue using ro for now. Therefore, I have documented the CRI implementation here in the hope of fostering more discussion.
Some context for the discussion: containerd/containerd#12518 (comment)
There was a problem hiding this comment.
I was talking with some kernel devs and using rro is safe and the recommended way from their POV.
Ideally we would want a bind, not rbind, mount of sysfs. But that is not really possible because it has mount-points inside, the kernel doesn't allow it. Then, what we need to do is use rbind and rro and in this way we make sure the container can't change anything there.
This is safe as is, but even more if we take into account that using the host network namespace is a privileged PSS in Kubernetes.
LGTM. Thanks!
4f0891c to
2bf2ca0
Compare
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: HirazawaUi, mrunalp The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
UserNamespacesHostNetworkRuntime Handler for theUserNamespacesHostNetworkfeature gate, and integrate node feature declaration feature.