Kubernetes 如何更改永久卷声明更改默认目录?
我正在尝试创建一个与上述规格的工作。folder1和Folder2的默认用户是root用户。当持久卷声明装载到具有子路径的文件夹时,如何更改文件夹的用户,如图所示?我试图将init containers中的权限更改为chmod 777-R/u01/subpath,但它抛出一个错误,表示无法更改文件夹的所有者或权限。请尝试以下示例:Kubernetes 如何更改永久卷声明更改默认目录?,kubernetes,persistent-volumes,persistent-volume-claims,Kubernetes,Persistent Volumes,Persistent Volume Claims,我正在尝试创建一个与上述规格的工作。folder1和Folder2的默认用户是root用户。当持久卷声明装载到具有子路径的文件夹时,如何更改文件夹的用户,如图所示?我试图将init containers中的权限更改为chmod 777-R/u01/subpath,但它抛出一个错误,表示无法更改文件夹的所有者或权限。请尝试以下示例: kind: Job metadata: name: test spec: ttlSecondsAfterFinished: 3600 backoffLi
kind: Job
metadata:
name: test
spec:
ttlSecondsAfterFinished: 3600
backoffLimit: 0
template:
metadata:
annotations:
version: "1.0"
labels:
component: test
name: test
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 5000
restartPolicy: Never
initContainers:
- name: test-init
image: sampleimage:latest
volumeMounts:
- name: testvol
mountPath: /u01/subpath
command: ['sh', '-c', "whoami && cd /u01/subpath && echo 1 && mkdir -p -m 0777 folder1 && echo 2 && mkdir -p -m 0777 folder2 && echo 4 && echo done"]
containers:
- image: sampleimage:latest
imagePullPolicy: Always
name: testcontainer
resources:
requests:
cpu: 1
memory: 4G
limits:
cpu: 1
memory: 4G
volumeMounts:
- name: testvol
mountPath: /u01/subpath/folder1
subPath: folder1
- name: testvol
mountPath: /u01/subpath/folder2
subPath: folder2
command: ['sh', '-c','ls -lrt /u01 ']
volumes:
- name: testvol
persistentVolumeClaim:
claimName: testpvc```
我也尝试过chown,但它仍然会抛出一个错误,比如您没有chmod或chown该目录的权限。使用kubectl exec-it pod_name--/bin/bash部署并查看容器内部。您是否尝试过使用
initContainer
运行chmod
,如以下回答所示:?我尝试过@DawidKruk,但用户在运行时尝试运行init container的用户也不是root用户,因此chmod chown everything fails我看到您的securityContext是在整个资源上定义的,可以按照容器和initContainer
分配它,如下所示:。请检查这是否对你有效。
name: testcontainer
command: ["sh", "-c", "chmod 777 /u01/ && chown 1000:1000 /u01/"]