首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes : hostPath存储权限

Kubernetes : hostPath存储权限
EN

Stack Overflow用户
提问于 2017-04-24 11:16:09
回答 1查看 6.1K关注 0票数 4

问题:无法在容器内的目录中写入。

我使用hostPath存储来满足持久存储需求。我不使用PV和PVC使用软管,而不是那个,使用它的音量插件。例如

代码语言:javascript
复制
{
    "apiVersion": "v1",
    "id": "local-nginx",
    "kind": "Pod",
    "metadata": {
        "name": "local-nginx"
    },
    "spec": {
        "containers": [
             {
                 "name": "local-nginx",
                 "image": "fedora/nginx",
                 "volumeMounts": [
                     {
                         "mountPath": "/usr/share/nginx/html/test",
                         "name": "localvol"
                     }
                 ]
             }
        ],
        "volumes": [
            {
                 "name": "localvol",
                 "hostPath": {
                    "path": "/logs/nginx-logs"
                 }
            }
        ]
    }
}

注意:尼克斯豆荚只是为了枫树。

我在主机上的目录被创建为“drwxr-xr-x.2根根目录6/ 18:42 /logs/nginx-log”,同样的权限反映在荚内部,但是当它是755时,其他用户(也就是荚中的用户)无法在挂载的dir中写入/创建文件。

问题:

  1. 有什么办法可以避免上述问题吗?
  2. 在Hostpath存储的情况下,是否有指定目录权限的方法?
  3. 是否有任何字段可以在以下定义中设置,以给予所需的权限?
代码语言:javascript
复制
"volumes":{
   "name": "vol",
    "hostPath": {
      "path": "/any/path/it/will/be/replaced"}}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 19:39:12

我认为您遇到的问题与用户或组无关(您的pod定义没有RunAsUser规范,因此默认情况下它是作为root运行的),而是与SELinux策略有关。为了将一个主机目录挂载到具有rw权限的pod中,它应该有以下标签:svirt_sandbox_file_t。您可以使用以下命令检查当前的SElinux标签:ls -laZ <your host directory>并使用chcon -Rt svirt_sandbox_file_t <your host directory>更改它。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43586624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档