2

我正在创建一个将 volumeMount 设置为mountPropagation: Bidirectional. 创建后,容器将使用"Propagation": "rprivate".

从 k8s文档中,我希望mountPropagation: Bidirectional导致卷挂载传播rshared

如果我直接用它启动容器,它就docker可以工作。

一些信息:

部署 Yaml

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

产生的安装部分来自docker inspect

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

等效的 Docker 运行

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

docker inspect使用创建时产生的 Mounts 部分docker run

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

kubectl 版本的输出

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"}

使用rke version v0.1.6

4

1 回答 1

1

这是https://github.com/kubernetes/kubernetes/pull/62633中 1.10.3 中修复的回归

于 2018-05-25T13:22:19.033 回答