当配置了带有 cifs 的 flexvolume 时,Pod 在 Node 上挂载了错误的目录

Pod mounts wrong directory on Node when a flexvolume with cifs is configured

1master3node的Kubernetes集群和单机Kubernetes都会出现如下问题

我设置了 Kubernetes 支持 flexvolume smb (https://github.com/Azure/kubernetes-volume-drivers/tree/master/flexvolume/smb)。当我应用带有 flexvolume 的新 pod 时,节点会按预期安装 smb 共享。但是 Pod 将他的共享指向节点上的某个 docker 目录。

我的安装:

创建 Pod

smb-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: smb-secret
type: microsoft.com/smb
data:
  username: YVVzZXI=
  password: YVBhc3N3b3Jk

nginx-flex-smb.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-flex-smb
spec:
  containers:
  - name: nginx-flex-smb
    image: nginx
    volumeMounts:
    - name: test
      mountPath: /data
  volumes:
  - name: test
    flexVolume:
      driver: "microsoft.com/smb"
      secretRef:
        name: smb-secret
      options:
        source: "//<host.with.smb.share>/kubetest"
        mountoptions: "vers=3.0,dir_mode=0777,file_mode=0777"

会发生什么

我尝试使用 PersistedVolumeClaime 安装 Pod,但遇到了同样的问题。搜索这个问题没有找到解决方案。

我们的另一个 pods 使用 GlusterFS 和 heketi,效果很好。

是否配置失败?缺少什么?

编辑:解决方案
我已将 Docker 升级到经过验证的最新版本 18.06,现在一切正常。

我已将 Docker 升级到经过验证的最新版本 18.06,现在一切正常。

要按照 Get Docker CE for CentOS 上的说明进行安装。