OpenShift создает тома с UID / GID - PullRequest
0 голосов
/ 28 мая 2020

Я хочу создать развертывание для Pod с uid / gid = 500. Это развертывание также создает том для этого контейнера. Манифест развертывания выглядит так:

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.

Я также создал custom s cc для проекта:

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, но мне нужно решение s cc. Спасибо

...