Kubernetes 配置带有cifs的flexvolume时,Pod在节点上装载错误的目录

Kubernetes 配置带有cifs的flexvolume时,Pod在节点上装载错误的目录,kubernetes,cifs,Kubernetes,Cifs,以下问题发生在具有1个主节点和3个节点的Kubernetes群集上,以及在单机Kubernetes上 我使用flexvolume smb支持()设置Kubernetes。当我使用flexvolume应用新pod时,节点会按预期装载smb共享。但是Pod将他的共享指向节点上的某个docker目录 我的安装: 最新世纪7 最新Kubernetes v1.14.0 () 禁用SELinux和禁用防火墙 Docker 1.13.1 jq和cifs-utils 安装到/usr/libexec/kuber

以下问题发生在具有1个主节点和3个节点的Kubernetes群集上,以及在单机Kubernetes上

我使用flexvolume smb支持()设置Kubernetes。当我使用flexvolume应用新pod时,节点会按预期装载smb共享。但是Pod将他的共享指向节点上的某个docker目录

我的安装:

  • 最新世纪7
  • 最新Kubernetes v1.14.0
    ()
  • 禁用SELinux和禁用防火墙
  • Docker 1.13.1
  • jq和cifs-utils
  • 安装到/usr/libexec/kubernetes/kubelet plugins/volume/exec/microsoft.com~smb和executable
使用创建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"
apiVersion:v1 种类:豆荚 元数据: 名称:nginx flex smb 规格: 容器: -名称:nginx flex smb 图片:nginx 体积数量: -名称:测试 装载路径:/data 卷数: -名称:测试 flexVolume: 驱动程序:“microsoft.com/smb” 秘书长: 名称:smb机密 选项: 资料来源:“///kubetest” mountoptions:“版本=3.0,目录模式=0777,文件模式=0777” 发生了什么
  • 节点上的装入点是在
    /var/lib/kubelet/pods/bef26895-5ac7-11e9-a668-00155db9c92e/volumes/microsoft.com~smb
    上创建的
  • mount
    返回
    ///kubetest on/var/lib/kubelet/pods/bef26895-5ac7-11e9-a668-00155db9c92e/volumes/microsoft.com~smb/test-type cifs(rw,relatime,vers=3.0,cache=strict,username=aUser,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=172.27.72.43,file_mode=0777,dir_mode=0777,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)
  • 读写操作在主机和节点本身上都能正常工作
  • 吊舱上
    • mount
      for/data points to
      tmpfs on/data type tmpfs(rw、nosuid、nodev、seclabel、size=898680k、nr_inodes=224670、mode=755)
    • 但目录/数据的内容来自节点上的
      /run/docker/libcontainerd/8039742AE2A57329CD9F4EF7709BF7583EFD0A262B9DC434DEAF5E1E20B4002/
我试图用PersistedVolumeClaime安装Pod,但也遇到了同样的问题。搜索这个问题没有解决方案

我们的其他豆荚使用GlusterFS和heketi,效果很好

是否存在配置故障?缺少什么

编辑:解决方案

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

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


要安装,请按照上的说明进行操作。

Hi@Reto Stadler能否将您的解决方案添加为答案,并将其标记为已批准?如果有人搜索类似问题,将使您的解决方案更为清晰可见。