몇 가지 배경 지식을 제공하기 위해 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를 사용해야 합니다.