OpenShift создать volume c заданным uid/gid
Есть манифест, который деплоит Pod c заданными томами для контейнера
kind: PersistentVolume
apiVersion: v1
metadata:
name: test
labels:
type: local
namespace: scc-test
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/local/test/"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-claim
namespace: scc-test
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: test-pod
labels:
application: test
namespace: scc-test
spec:
replicas: 1
selector:
matchLabels:
application: ads
template:
metadata:
namespace: scc-test
spec:
securityContext:
runAsUser: 500
runAsGroup: 500
fsGroup: 500
containers:
- name: test-pod
image: docker.io/hello-world
securityContext:
privileged: true
volumeMounts:
- name: test-vol
mountPath: /opt/test/
volumes:
- name: test-vol
persistentVolumeClaim:
claimName: test-claim
restartPolicy: Always
nodeSelector:
site: test-1
После выполнения создаётся директория на хосте /local/test с uid/gid =0(root).
Я создал для проекта так же кастомный scc:
kind: SecurityContextConstraints
apiVersion: v1
metadata:
name: test-scc
allowPrivilegedContainer: true
runAsUser:
type: MustRunAs
uid: 500
seLinuxContext:
type: RunAsAny
fsGroup:
type: MustRunAs
ranges:
- min: 500
max: 500
supplementalGroups:
type: MustRunAs
ranges:
- min: 500
max: 500
и добавил его к проекту: oc adm policy add-scc-to-user test-scc -z default
Что нужно добавить/изменить в манифесте для того , чтобы после деплоя контейнера на хосте папка /local/test имела uid/gid = 500 ?
initContainer уже пробовал, всё работает, но мне нужно решение с scc.
Спасибо