首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改configmap数据的用户?

问如何更改configmap数据的用户?
EN

Stack Overflow用户
提问于 2019-05-21 21:55:51
回答 1查看 3.1K关注 0票数 2

我创建了以非根用户身份运行的映像,但是当我使用configmap作为卷时,卷附带的文件是根用户。我想更改用户,但我不知道如何更改用户。

我在google上搜索了stackoverflow,但我什么也没找到。

代码语言:javascript
复制
   volumeMounts:
      - name: test
        mountPath: /opt/KOBIL/SSMS/home/configutil
  volumes:
    - name: test
      configMap:
        name: slaveconfig




Actual:
lrwxrwxrwx. 1 root root 17 May 21 12:53 config.xml -> ..data/config.xml
lrwxrwxrwx. 1 root root 18 May 21 12:53 modules.xml -> ..data/modules.xml

Expected:
lrwxrwxrwx. 1 xxuser xxuser 17 May 21 12:53 config.xml -> ..data/config.xml
lrwxrwxrwx. 1 xxuser xxuser 18 May 21 12:53 modules.xml -> ..data/modules.xml
EN

回答 1

Stack Overflow用户

发布于 2019-09-13 12:47:24

这是Kubernetes部署/状态集面临的挑战之一,当您必须以非root用户身份在容器内运行进程时。但是,当您将卷挂载到pod时,它总是在root:root的权限下挂载。因此,非root用户必须有权访问要在其中读写数据的文件夹。

请按照下面的步骤进行操作。

在Dockerfile中创建用户组并分配groudID。创建具有userid的用户,并在Dockerfile中添加到组中。递归地更改用户进程要读/写的文件夹的所有权。在pod spec上下文中的deployment/Statefulset中添加以下行。

规格: securityContext: runAsUser: 1099 runAsGroup: 1099 fsGroup: 1099

runAsUser:指定对于Pod中的任何容器,所有进程都以用户ID 1099运行。runAsGroup:为Pod中任何容器中的所有进程指定主组ID 1099。(如果忽略此字段,则容器的主组ID将为根(0),当指定runAsGroup时,创建的任何文件也将归用户1099和组1099所有) fsGroup:指定附加的任何卷的所有者将是GroupId 1099的所有者,并且在其下创建的任何文件将具有nonrootgroup:nonrootgroup的权限。

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

https://stackoverflow.com/questions/56239932

复制
相关文章

相似问题

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