【问题标题】:How to change permission of mapped volume in kubernetes如何在 Kubernetes 中更改映射卷的权限
【发布时间】:2019-05-17 12:14:06
【问题描述】:

我尝试在 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/

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

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

    spec:
      securityContext:
        fsGroup: 2000
    

    【讨论】:

      【解决方案2】:

      我尝试了您的建议,但我的问题仍然存在。我在我的 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 2017-09-23
        • 1970-01-01
        • 2017-07-31
        相关资源
        最近更新 更多