首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用root用户在kubernetes pod挂载时权限被拒绝

使用root用户在kubernetes pod挂载时权限被拒绝
EN

Stack Overflow用户
提问于 2020-08-17 00:05:48
回答 2查看 3.5K关注 0票数 2

当我在kubernetes v1.18 jenkins的主pod中使用此命令挂载nfs文件系统时:

代码语言:javascript
运行
复制
root@jenkins-67fff76bb6-q77xf:/# mount -t nfs -o v4 192.168.31.2:/infrastructure/jenkins-share-workspaces /opt/jenkins
mount: permission denied
root@jenkins-67fff76bb6-q77xf:/# 

为什么在我使用root用户时会显示权限被拒绝?当我在另一台机器上(不是在docker中)使用这个命令时,它工作得很好,显示服务器端工作得很好。这是yaml中的kubernetes jenkins master pod安全文本配置:

代码语言:javascript
运行
复制
securityContext:
        runAsUser: 0
        fsGroup: 0

今天我尝试了另一个kubernetes pod并挂载nfs文件系统,抛出了同样的错误。从主机挂载NFS似乎工作得很好,而从kubernetes pod挂载有一个系统问题。为什么会发生这种情况?NFS在这个kubernetes pod中通过PVC绑定PV工作得很好,为什么它从docker挂载失败?我很困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-17 18:18:15

有两种方法可以将nfs卷挂载到pod

第一个(直接在pod规范中):

代码语言:javascript
运行
复制
kind: Pod
apiVersion: v1
metadata:
  name: pod-using-nfs
spec:
  volumes:
    - name: nfs-volume
      nfs: 
        server: 192.168.31.2
        path: /infrastructure/jenkins-share-workspaces
  containers:
    - name: app
      image: example
      volumeMounts:
        - name: nfs-volume
          mountPath: /var/nfs

第二(创建持久化nfs卷和卷声明):

代码语言:javascript
运行
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  capacity:
    storage: 1Mi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.2
    path: "/infrastructure/jenkins-share-workspaces"

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 1Mi
  volumeName: nfs

---
kind: Pod
apiVersion: v1
metadata:
  name: pod-using-nfs
spec:
  containers:
    - name: app
      image: example
      volumeMounts:
        - name: nfs
          mountPath: /opt/jenkins
  volumes:
    - name: nfs
      persistentVolumeClaim:
        claimName: nfs

编辑:

以上方案是首选方案,但如果您确实需要在容器中使用mount,则需要向pod添加功能:

代码语言:javascript
运行
复制
spec:
  containers:
  - securityContext:
      capabilities:
        add: ["SYS_ADMIN"]
票数 3
EN

Stack Overflow用户

发布于 2020-08-17 00:10:37

尝试使用

代码语言:javascript
运行
复制
securityContext:
  privileged: true

如果您正在为jenkins使用dind,则需要这样做

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

https://stackoverflow.com/questions/63439071

复制
相关文章

相似问题

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