启动 pod 时安装 GlusterFS 时出现问题(在 Kubernetes 中)

启动 pod 时安装 GlusterFS 时出现问题(在 Kubernetes 中)

只是为了提供一些背景信息 - 我有一个正在运行的 3 节点 GlusterFS 集群,并且我确保通过在某些服务器上安装一些目录来测试它的工作原理。我还在 Kubernetes 集群(目前只有 1 个节点)上测试了挂载,以确保这不是问题,并且 gluster-client 软件包已安装。

一直使用 Rancher 作为 Kubernetes 的管理覆盖层。我手动创建了一个持久卷并选择了 Gluster 插件。对于端点,我必须创建自定义端点和服务对象。

这是我收到的错误:

Events:
  Type     Reason       Age                  From                  Message
  ----     ------       ----                 ----                  -------
  Warning  FailedMount  7m8s (x34 over 86m)  kubelet, ssk8smstd01  Unable to mount volumes for pod "hello-7f66d8f588-whxwz_default(6a45cd5e-7259-11e9-ab24-005056aa5a40)": timeout expired waiting for volumes to attach or mount for pod "default"/"hello-7f66d8f588-whxwz". list of unmounted volumes=[pvc1]. list of unattached volumes=[pvc1 default-token-n7tlv]
  Warning  FailedMount  3m2s (x44 over 86m)  kubelet, ssk8smstd01  (combined from similar events): MountVolume.SetUp failed for volume "gluster1" : mount failed: mount failed: exit status 1
Mounting command: mount
Mounting arguments: -t glusterfs -o backup-volfile-servers=ip1:ip2:ip3,log-file=/var/lib/kubelet/plugins/kubernetes.io/glusterfs/gluster1/hello-7f66d8f588-whxwz-glusterfs.log,log-level=ERROR ip1:gv0 /var/lib/kubelet/pods/6a45cd5e-7259-11e9-ab24-005056aa5a40/volumes/kubernetes.io~glusterfs/gluster1
Output: Mount failed. Please check the log file for more details.

 the following error information was pulled from the glusterfs log to help diagnose this issue: 
[2019-05-09 14:19:04.005668] E [MSGID: 100026] [glusterfsd.c:2307:glusterfs_process_volfp] 0-: failed to construct the graph
[2019-05-09 14:19:04.005900] E [graph.c:982:glusterfs_graph_destroy] (-->/usr/sbin/glusterfs(mgmt_getspec_cbk+0x12e) [0x5589853fc38e] -->/usr/sbin/glusterfs(glusterfs_process_volfp+0x148) [0x5589853f6dc8] -->/usr/lib/x86_64-linux-gnu/libglusterfs.so.0(glusterfs_graph_destroy+0x6b) [0x7fa9c305268b] ) 0-graph: invalid argument: graph [Invalid argument]

有没有人见过类似的东西或有任何想法?

答案1

在与 Rancher 的技术人员交谈后,我发现了这个问题。

问题是 Hyperkube(K8s 二进制文件的包装器)预先打包了相当旧版本的 GlusterFS,所以我最终不得不将我的版本降级到版本 5,这修复了它。

答案2

这可能会有所帮助:https://github.com/gluster/glusterfs/issues/658

简而言之,您应该在客户端和服务器上使用相同版本的 GlusterFS。

相关内容