-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Proposed mount propagation won't work with Docker #648
Comments
@jsafrane: These labels do not exist in this repository: In response to this:
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. I understand the commands that are listed here. |
I've wondered about the status of this for a while. Its affecting a lot of projects I work on. What is the path forward to shared mounts? If its stagnating because no one can really figure out whats the best path forward, I'd say then its overly complicated to try and do it flagless and lets just add a flag so we can make progress? |
/sig node |
@cmluciano: These labels do not exist in this repository: In response to this:
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. I understand the commands that are listed here. |
@kubernetes/sig-node-proposals |
@cmluciano: These labels do not exist in this repository: In response to this:
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. I understand the commands that are listed here. |
@jsafrane
Note: Method 1 will trigger an email to the group. You can find the group list here and label list here. |
/sig node |
Automatic merge from submit-queue Redesign mount propagation The proposal won't work as it was merged, it makes too many directories as shared (see #648). A different approach is needed, I've chosen 'Add an option in VolumeMount API', but I would be fine also with 'Add an option in HostPathVolumeSource', there is only very small difference to me. The proposal also describes how it will be implemented, especially during alpha phase. Fixes #648 @kubernetes/sig-node-proposals @kubernetes/sig-storage-proposals
Automatic merge from submit-queue Redesign mount propagation The proposal won't work as it was merged, it makes too many directories as shared (see kubernetes#648). A different approach is needed, I've chosen 'Add an option in VolumeMount API', but I would be fine also with 'Add an option in HostPathVolumeSource', there is only very small difference to me. The proposal also describes how it will be implemented, especially during alpha phase. Fixes kubernetes#648 @kubernetes/sig-node-proposals @kubernetes/sig-storage-proposals
propagation.md says that we should "Make HostPath shared for privileged containers, slave for non-privileged."
I hacked this into kubelet (inspired by kubernetes/kubernetes#41683) and tried to build a container that would mount iSCSI, CephRBD and Gluster volumes without having
iscsiadm
,rbd
andmount.glusterfs
installed on the node.The resulting pod looks like:
What the pod really needs with shared mount propagation is
/var/lib/kubelet
. All the rest should be either rslave or private and it breaks things when it's rshared:/dev/shm
when running the container./dev/
is shared between the host and the container -> anything that the host had in/dev/shm
is lost. In addition, docker does not unmount it from some reason when the container dies. Private or rshared mount propagation would be enough for/dev
./sys
in the container to be able to talk to Ceph kernel module, however systemd in the container can't work with/sys/fs/cgroup
as shared. It simply refuses to start. I need systemd to kill reap zombies of fuse daemons and to start NFS client daemons andiscsid
during container startup. Now I am stuck with non-systemd init. Private or rshared mount propagation would be enough for/sys
./var/lib/kubelet/ as shared during kubelet startup (https://github.com/kubernetes/kubernetes/pull/45724). This won't be enough, because now I need
/etc,
/dev,
/sysand
/run` as shared too.IMO, exporting a HostPath as shared should be opt-in per VolumeHost (or VolumeMount), it should not be enabled by default for all HostPath volumes as agreed in the proposal.
Adding random people who were active in mount propagation PRs:
@euank @lpabon @lucab @thockin @ivan4th @vishh @lvlv
@kubernetes/sig-node-proposals @kubernetes/sig-storage-proposals
The text was updated successfully, but these errors were encountered: