Helm图表MongoDb无法创建目录权限

问题描述 投票:0回答:1

我尝试使用 helm 部署 mongodb,但出现以下错误:

mkdir: cannot create directory /bitnami/mongodb/data : permision denied.

我也尝试过这个解决方案:

sudo chown -R 1001 /tmp/mongo

但它说没有这个目录。

kubernetes kubernetes-helm
1个回答
1
投票

您在

/bitnami/mongodb/data
上的权限被拒绝,并且您正在尝试修改另一条路径:
/tmp/mongo
。您可能根本没有这样的目录。 您需要更改您没有权限的资源的所有者,而不是随机(不相关)路径:)

您可能已经看过这个 github 问题 和这个答案:

您收到该错误消息是因为容器无法挂载您在 docker-compose.yml 文件中指定的 /tmp/mongo 目录。

正如您在我们的变更日志中看到的,容器已迁移到非root用户方法,这意味着用户

1001
需要/tmp/mongo文件夹中的读/写权限,以便可以安装和使用它。您可以修改本地文件夹的权限并尝试再次启动容器吗?

sudo chown -R 1001 /tmp/mongo

如果您要挂载

/tmp/mongo
文件夹,则此方法将起作用,这实际上并不常见。寻找另一个答案:

请注意,安装主机路径卷不是使用这些容器的常用方法。如果使用 docker-compose,它将使用 docker 卷(已经处理了权限问题),这同样适用于 Kubernetes 和 MongoDB helm 图表,它将使用

securityContext
部分来确保适当的权限。

在您的情况下,您只需更改路径的所有者

/bitnami/mongodb/data
或在 Helm 图表上使用 Security Context ,一切都会为您解决。

可能在这里您可以通过示例上下文找到最有趣的部分:

securityContext:
  runAsUser: 1000
  runAsGroup: 3000
  fsGroup: 2000
  fsGroupChangePolicy: "OnRootMismatch"
© www.soinside.com 2019 - 2024. All rights reserved.