如何在kubernetes中更改映射卷的权限

时间:2019-05-17 12:14:07

标签: kubernetes

我尝试在kubernetes上挂载非root用户(xxxuser)的文件夹,并使用hostPath进行挂载。但是无论何时启动容器,都将使用用户(1001)而不是xxxuser进行安装。它总是从用户(1001)开始。如何使用xxxuser挂载此文件夹?

卷的类型很多,但是我使用hostPath。开始之前;我使用chown和chgrp命令更改文件夹用户和组。接着;将该文件夹安装为卷。容器启动,我检查了文件夹的用户,但它始终是用户(1001)。例如;

drwxr-x ---。 2 1001 1001 70 5月3日14:15 configutil /

volumeMounts:
        - name: configs
          mountPath: /opt/KOBIL/SSMS/home/configutil
      volumes:
      - name: configs
        hostPath:
          path: /home/ssmsuser/configutil
          type: Directory

drwxr-x ---。 2 xxxuser xxxuser 70 5月3日14:15 configutil /

2 个答案:

答案 0 :(得分:1)

您可以使用以下语法指定所需的安装卷所有者:

spec:
  securityContext:
    fsGroup: 2000

答案 1 :(得分:0)

我尝试您提出的建议,但我的问题仍然存在。我将以下行添加到我的yaml文件中:

spec:
      securityContext:
        runAsUser: 999
        runAsGroup: 999
        fsGroup: 999

我使用999,因为我在Dockerfile中使用了999。例如;

RUN groupadd -g 999 ssmsuser && \
useradd -r -u 999 -g ssmsuser ssmsuser
USER ssmsuser