对于我们的数据科学平台,我们要在Luster文件系统(HPC世界)上拥有用户目录,我们希望将这些用户目录呈现在OpenShift上运行的Jupyter笔记本中(JupyterHub在身份验证和其他自定义操作后按需生成)。
我们尝试了以下方法:
- 将Lustre文件系统安装在与笔记本电脑相同的Pod中的特权sidecar容器中,并通过EmptyDir卷共享安装(这样便无需为笔记本电脑容器授予特权)。我们在装甲车生命周期中的启动后和停止前将Lustre的装载量/上装量发生在边车中。问题是有时由于某种原因,当我们删除pod umount时,其umount不会工作或挂起,并且由于EmptyDirs被“破坏”,它会刷新Lustre中的所有内容,因为fs仍然被挂载。真正糟糕的结果...
- 直接在节点上安装Lustre文件系统,并在pod中创建一个hostPath卷,并在笔记本容器中创建一个volumeMount。这是可行的,但是仅当容器以特权方式运行时,我们才当然不需要。
我们尝试了更具体的sccs,这些sccs授权hostPath卷(hostaccess,hostmount-anyuid),并且使用hostPath卷和'allowHostDirVolumePlugin:true'进行了自定义,但没有成功。我们可以从容器中看到挂载,但是即使所有东西都敞开了(777),我们在挂载上尝试执行的所有操作(ls,touch,...)也都会获得“权限被拒绝”。同样,它仅在容器具有特权时才起作用。似乎与SELinux没有关系,至少我们没有警报。
有人看到问题出在哪里吗,或者有其他解决方案的建议我们可以尝试?