【问题标题】:Permission denied writing artifacts to an NFS-mounted PVC权限被拒绝将工件写入 NFS 安装的 PVC
【发布时间】:2021-01-28 21:55:30
【问题描述】:

我正在尝试将 MLflow 工件写入安装了 NFS 的 PVC。这是/opt/mlflow 的新 PVC 安装,但 MLflow 似乎有权写入它。我得到的具体错误是

PermissionError: [Errno 13] Permission denied: '/opt/mlflow'

我使用 S3 支持的工件存储运行相同的部署,并且效果很好。不过那是在我的家用电脑上,我没有能力在工作中做到这一点。 MLflow 文档似乎表明我不需要任何用于 NFS 挂载的特殊语法。

【问题讨论】:

  • NFS 挂载具有 Linux 文件权限,并且在容器中运行的用户似乎具有受限用户 ID。根据您的设置,您可能希望使用sudo chown 更改目录的所有者

标签: kubernetes mlflow kubernetes-pvc


【解决方案1】:

您可以独立于 MLflow 以标准文件权限的方式处理此问题。

  1. 执行到您的 pod 并查看该文件路径的权限
kubectl exec -it <pod>

ls -l /opt/mlflow
  1. 在您的 pod/容器中查看您正在以什么用户身份运行
whoami

如果您的用户无权访问该文件路径,那么您可以通过将 pvc 挂载到具有调整权限的用户下运行的不同 pod 来调整文件权限。或者您可以尝试使用fsGroup 来控制挂载文件的权限,您可以阅读更多关于here 的信息。

【讨论】:

  • 是的,我这样做了,但不幸的是我仍然遇到写访问问题。不知道是不是因为 MLflow 专门尝试在本地引用某些东西或什么。
  • 运行ls -l 时权限是什么样的。您的用户是否允许写作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多