使用root用户在kubernetes吊舱中装载时权限被拒绝
当我在kubernetes v1.18 jenkins的master pod中使用此命令装载nfs文件系统时:使用root用户在kubernetes吊舱中装载时权限被拒绝,kubernetes,Kubernetes,当我在kubernetes v1.18 jenkins的master pod中使用此命令装载nfs文件系统时: 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用户时显
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主吊舱安全文本配置:
securityContext:
runAsUser: 0
fsGroup: 0
今天我尝试了另一个kubernetes pod和mount nfs文件系统,并抛出了相同的错误。似乎从主机装载NFS工作正常,而从kubernetes吊舱装载NFS有一个Persion问题。为什么会发生这种情况?NFS在这个kubernetes吊舱中通过PVC绑定PV工作良好,为什么它从docker装载失败?我很困惑。尝试使用
securityContext:
privileged: true
如果您正在使用dind for jenkins,则需要使用此选项
securityContext:
privileged: true
如果您正在使用dind for jenkins,则需要这样做。有两种方法可以将nfs卷装载到pod 首先(直接在pod规范中): 第二(创建persistens nfs卷和卷声明): 编辑: 上面的解决方案是首选方案,但如果您确实需要使用容器中的mount,则需要向pod添加功能:
spec:
containers:
- securityContext:
capabilities:
add: ["SYS_ADMIN"]
有两种方法可以将nfs卷装载到pod 首先(直接在pod规范中): 第二(创建persistens nfs卷和卷声明): 编辑: 上面的解决方案是首选方案,但如果您确实需要使用容器中的mount,则需要向pod添加功能:
spec:
containers:
- securityContext:
capabilities:
add: ["SYS_ADMIN"]
我不知道为什么,但我添加此配置失败。似乎kubernetes自动删除此
privileged:true
键值配置。@Dashrath MundkarI不知道为什么,但我添加此配置失败。似乎kubernetes自动删除此privileged:true
键值配置。@Dashrath MundkarIt最好将其设置为库伯内特斯卷。如果pod重新启动或移动到另一个节点,您将丢失在该shell中手动进行的任何更改。通常情况下,容器进程不允许执行诸如mount(8)之类的管理任务,即使它们是以root身份运行的。我想使用nfs挂载来归档这个,但是当我配置nfs卷时,kuberntes-jenkins从机会一次又一次地重新启动。我尝试使用pvc或nfs配置kubernetes从站,但今天都失败了。@davidmazet最好将其设置为kubernetes卷。如果pod重新启动或移动到另一个节点,您将丢失在该shell中手动进行的任何更改。通常情况下,容器进程不允许执行诸如mount(8)之类的管理任务,即使它们是以root身份运行的。我想使用nfs挂载来归档这个,但是当我配置nfs卷时,kuberntes-jenkins从机会一次又一次地重新启动。我试图用pvc或nfs配置kubernetes的奴隶吊舱,但今天都失败了。@Davidmaze我想你可能不理解我的问题点,你的回答是对的,但没有回答我的问题。@HelloWorld我将配置添加到pod yaml中,但它是由kubernetes自动移动的,我不知道为什么会这样happen@HelloWorldI你可能不理解我的问题点,你的回答是对的,但没有回答我的问题。@HelloWorld我将配置添加到pod yaml中,但它是由kubernetes自动移动的,我不知道为什么会这样happen@HelloWorld