【问题标题】:Helm chart MongoDb cannot create directory permisionsHelm chart MongoDb 无法创建目录权限
【发布时间】:2022-01-15 03:29:59
【问题描述】:

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

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

我也试过这个解决方案:

sudo chown -R 1001 /tmp/mongo

但它说没有这个目录。

【问题讨论】:

    标签: kubernetes devops kubernetes-helm helm3


    【解决方案1】:

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

    您可能已经看过this github issue 和这个答案:

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

    正如您在our changelog 中看到的那样,容器已迁移到非root 用户方法,这意味着用户1001 需要在/tmp/mongo 文件夹中具有读/写权限,以便可以挂载和用过的。您可以修改本地文件夹中的权限并尝试再次启动容器吗?

    sudo chown -R 1001 /tmp/mongo
    

    如果您要挂载/tmp/mongo 文件夹,此方法将起作用,这实际上不是很常见的行为。寻找另一个答案:

    请注意,挂载主机路径卷不是使用这些容器的常用方法。如果使用 docker-compose,它将使用 docker 卷(已经处理了权限问题),同样适用于 Kubernetes 和 MongoDB helm chart,它将使用 securityContext 部分来确保正确的权限。

    在您的情况下,您只需将所有者更改为路径 /bitnami/mongodb/data 或在 Helm 图表上使用 Security Context,一切都会为您解决。

    可能here 你可以通过示例上下文找到最有趣的部分:

    securityContext:
      runAsUser: 1000
      runAsGroup: 3000
      fsGroup: 2000
      fsGroupChangePolicy: "OnRootMismatch"
    

    【讨论】:

      猜你喜欢
      • 2020-11-26
      • 2017-07-10
      • 2018-11-20
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      相关资源
      最近更新 更多