【问题标题】:How to give full permissions to a shared volume in kubernetes如何为 Kubernetes 中的共享卷授予完全权限
【发布时间】:2019-01-16 11:06:01
【问题描述】:

我有一个与主机使用共享卷的容器。我想给它一个完整的权限。目前是:

ls -l
drwxr-xr-x 8 user user 4096 Aug  9 04:47 Data

但我希望它是:

ls -l
drwxrwxrwx 8 user user 4096 Aug  9 04:47 Data

我有以下部署文件:

----
----
spec:
  containers:
  - name: logger
    image: logger_image
    volumeMounts:
    - mountPath: /Data
      name: Data-files
    securityContext:  
      privileged: true

 volumes:
  - name: Data-files
    hostPath:
      path: /home/user/Documents/Data

----
----

我什至将其设置为privileged,但这些卷仍然没有完全权限。我应该在部署文件中添加什么以使卷具有完全权限?

谢谢

【问题讨论】:

  • 你得到什么错误?

标签: permissions kubernetes volumes


【解决方案1】:

您对/home/user//home/user/Documents/ 文件夹的权限不允许进程的所有者(logger_image)访问该文件夹并进行写入。

尝试创建/Data(在您的根目录上)并设置适当的权限。

【讨论】:

  • 所以如果我更改主机上的权限,它也将在容器端相同
  • 你改变了挂载点(Data)的权限,允许logger_image的用户写入。
【解决方案2】:

我通过在Dockerfile 本身中提到适当的命令来授予对该目录的完全权限来解决此问题。

在dockerfile中:

RUN mkdir -p /Data
RUN chmod 777 -R Data/

然后后来使用了相同的 kubernetes 部署文件,它在完全权限下运行良好。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2021-05-18
    • 2021-01-01
    • 2012-04-23
    相关资源
    最近更新 更多