如何在 kubernetes 集群中使用 nfs 挂载 glusterfs 卷?

How to mount glusterfs volume using nfs in a kubernetes cluster?

我已经建立了一个 glusterfs 集群,在 kubernetes 中为 pods 提供卷。 glusterfs方式挂载volume没有问题:

        "volumes": [
        {
            "name": "vol1",
            "glusterfs": {
                "endpoints": "glusterfs-cluster",
                "path": "a-gluster-vol"
            }
        }
    ]

我的问题是,我可以用nfs方式使用gluster volume吗?比如

 "nfs": {
                "server": "someaddress",
                "path": "/a-gluster-vol"
            }

广告连播是 failedMount

50s     18s     7   {kubelet kube-node-21}          Warning     FailedMount MountVolume.SetUp failed for volume "kubernetes.io/nfs/818e0668-f7df-11e6-9f69-52540092af07-vol1" (spec.Name: "vol1") pod "818e0668-f7df-11e6-9f69-52540092af07" (UID: "818e0668-f7df-11e6-9f69-52540092af07") with: mount failed: exit status 32
Mounting command: mount
Mounting arguments: 192.168.16.180:/nfs /var/lib/kubelet/pods/818e0668-f7df-11e6-9f69-52540092af07/volumes/kubernetes.io~nfs/vol1 nfs []
Output: mount.nfs: requested NFS version or transport protocol is not supported
"volumes": [{
  "name": "vol1",
  "nfs": {
    "server": "glusterfs-server-ip",
    "path": "/a-gluster-vol"
  }
}]

目前只能指定一台服务器,不太理想。

kubernetes 中的 Gluster 插件在 FUSE 上运行,因此当您在 pod 规范中指定 "gluster" 时,将使用 FUSE 客户端进行挂载。但是,如果你想将它用作 NFS 共享,你可以尝试在 pod spec 中使用 "nfs" spec,但你必须确保 Gluster Cluster 中的 "gluster nfs" 服务是 运行。