Как изменить постоянные требования к тому, чтобы изменить каталог по умолчанию?

 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```

Я пытаюсь создать работу с указанными выше спецификациями. пользователь по умолчанию для папки 1 и папки 2 является пользователем root. Как можно изменить пользователя папки, если заявка на постоянный том монтируется в папку с вложенными путями, как показано? Я попытался изменить разрешение в init-контейнерах как chmod 777 -R /u01/subpath, но выдает ошибку, в которой говорится, что невозможно изменить владельца или разрешение папки.


person Sourabh Ninawe    schedule 19.04.2021    source источник
comment
Вы пытались использовать initContainer для запуска chmod, как в этом ответе: stackoverflow.com/a/51195446/12257134?   -  person Dawid Kruk    schedule 19.04.2021
comment
Я пробовал @DawidKruk, но пользователь, когда он пытается запустить init-container, также не является пользователем root, поэтому chmod chown все терпит неудачу.   -  person Sourabh Ninawe    schedule 21.04.2021
comment
Я видел, что ваш securityContext определен для всего ресурса, и его можно назначить для container и initContainer, как здесь: kubernetes.io/docs/tasks/configure-pod-container/ . Пожалуйста, проверьте, сработало ли это для вас.   -  person Dawid Kruk    schedule 27.04.2021


Ответы (1)


попробуйте пример chown uid:

name: testcontainer
command: ["sh", "-c", "chmod 777 /u01/ && chown 1000:1000 /u01/"]
person omega-nitro-zeus-x0    schedule 19.04.2021
comment
Я также пробовал chown, но все равно выдает ошибку, как будто у вас нет прав на chmod или chown этого каталога. - person Sourabh Ninawe; 19.04.2021
comment
развернуть и заглянуть внутрь контейнера с помощью kubectl exec -it pod_name -- /bin/bash - person omega-nitro-zeus-x0; 19.04.2021