<p>I'm creating a pod with a volumeMount set to <code>mountPropagation: Bidirectional</code>. When created, the container is mounting the volume with <code>"Propagation": "rprivate"</code>. </p>

<p>From the k8s <a href="https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation" rel="nofollow noreferrer">docs</a> I would expect <code>mountPropagation: Bidirectional</code> to result in a volume mount propagation of <code>rshared</code></p>

<p>If I start the container directly with <code>docker</code> this is working. </p>

<p>Some info:</p>

<p><strong>Deployment Yaml</strong></p>

<pre><code>apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test
spec:
  selector:
    matchLabels:
      app: test
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
      - image: gcr.io/google_containers/busybox:1.24
        command:
          - sleep
          - "36000"
        name: test
        volumeMounts:
        - mountPath: /tmp/test
          mountPropagation: Bidirectional
          name: test-vol
      volumes:
      - name: test-vol
        hostPath:
          path: /tmp/test
</code></pre>

<p><strong>Resulting mount section from <code>docker inspect</code></strong></p>

<pre><code>"Mounts": [
            {
                "Type": "bind",
                "Source": "/tmp/test",
                "Destination": "/tmp/test",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }…..
</code></pre>

<p><strong>Equivalent Docker run</strong></p>

<pre><code>docker run --restart=always --name test -d --net=host --privileged=true -v /tmp/test:/tmp/test:shared gcr.io/google_containers/busybox:1.24
</code></pre>

<p><strong>Resulting Mounts section from <code>docker inspect</code> when created with <code>docker run</code></strong></p>

<pre><code>"Mounts": [
            {
                "Type": "bind",
                "Source": "/tmp/test",
                "Destination": "/tmp/test",
                "Mode": "shared",
                "RW": true,
                "Propagation": "shared"
            }...
</code></pre>

<p><strong>Output of kubectl version</strong></p>

<pre><code>Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-13T22:29:03Z", GoVersion:"go1.9.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-12T14:14:26Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p>Using <code>rke version v0.1.6</code></p>

<p>this was a regression fixed in 1.10.3 in <a href="https://github.com/kubernetes/kubernetes/pull/62633" rel="nofollow noreferrer">https://github.com/kubernetes/kubernetes/pull/62633</a></p>
