Closed we7team closed 3 years ago
使用mountPropagation: Bidirectional会造成不少问题,非正常重启导致宿主机器上的挂载点还存在。然后fuse服务就无法挂载上去了。另外就是如果其他pod使用了宿主上的这个共享目录,一旦fuse重启了,其他pod上的挂载点就全部出错了。
我感觉想从根本上解决,还得让k8s支持alluxio的fuse协议进行挂载,就像支持nfs直接挂载一样。
或者alluxio多支持一种协议,nfs,这样的话就完美与k8s兼容了,k8s的存储类型支持nfs协议,也是比较通用的解决方案。之前提过一个相关的issue:https://github.com/Alluxio/alluxio/issues/8746
使用mountPropagation: Bidirectional会造成不少问题,非正常重启导致宿主机器上的挂载点还存在。然后fuse服务就无法挂载上去了。另外就是如果其他pod使用了宿主上的这个共享目录,一旦fuse重启了,其他pod上的挂载点就全部出错了。
我感觉想从根本上解决,还得让k8s支持alluxio的fuse协议进行挂载,就像支持nfs直接挂载一样。
我与遇到了这个问题,老哥可以具体解释一下为什么使用Bidirectional会造成fuse的这种问题吗
please try with latest version of Alluxio, as we have made significant changes to use JNI-fuse
Alluxio Version: alluxio/alluxio-fuse:2.1.0
Describe the bug
k8s上pod的状态: 可以看出来,master昨天挂了一次,fuse一直在重启,重启了N次都没启动成功。
fuse上的日志:
failed to open log file "/var/log/pods/default_alluxio-fuse-r7jcs_5d43128f-1086-11ea-988d-1243c9721bb4/alluxio-fuse/189.log": open /var/log/pods/default_alluxio-fuse-r7jcs_5d43128f-1086-11ea-988d-1243c9721bb4/alluxio-fuse/189.log: no such file or directory
worker上的日志:
master上的日志(从k8s里抓的,也不知道全不全):
通过排查,我们发现fuse一直无法启动,是因为宿主机器上的挂载点还存在,一直没有被umount 这就导致fuse一直挂载不上/alluxio-fuse,导致pod一直启动失败,我认为这一块可以加个init容器,启动前检测挂载点,如果存在先umount。
不过问题的根本还是在于master无缘无故挂掉,导致fuse也突然挂掉,无法执行prestop里的命令。昨天已经给matser调成了2G,也是会挂,现在也没有上线,只是我自己测,大半夜也没有大量使用请求,不知道是因为什么。