使用OpenShift 3.11,我已经安装了nfs持久卷,但是应用程序无法复制到新卷中,并说:
oc logs my-project-77858bc694-6kbm6
cp: cannot create regular file '/config/dbdata/resdb.lock.db': Permission denied
...
我试图通过在InitContainers中进行修改来更改文件夹的所有权,但是它告诉我不允许进行的操作。
initContainers:
- name: chowner
image: alpine:latest
command: ["/bin/sh", "-c"]
args:
- ls -alt /config/dbdata; chown 1001:1001 /config/dbdata;
volumeMounts:
- name: my-volume
mountPath: /config/dbdata/
oc logs my-project-77858bc694-6kbm6 -c chowner
total 12
drwxr-xr-x 3 root root 4096 Nov 7 03:06 ..
drwxr-xr-x 2 99 99 4096 Nov 7 02:26 .
chown: /config/dbdata: Operation not permitted
我希望能够写入已安装的卷。
最佳答案
您可以通过在安全上下文中使用fsGroup: GROUP_ID
来授予Pods写入卷的权限。 fsGroup
使您的卷可由GROUP_ID写入,并使容器内的所有进程属于该组。
例如:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
securityContext:
fsGroup: GROUP_ID
...
关于kubernetes - 使用OpenShift在卷装载上写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58747923/