Разрешения на запись тома - PullRequest
1 голос
/ 28 апреля 2020

Как я могу дать не-1015 * пользователю полный доступ к пути подключенного тома в Kubernetes (pod)?

Я использую том на хосте (/ workspace / projects path) и запись в каталог, как показано ниже.

volumeMounts:
-name: workspace
 mountPath: /workspace/projects

Поскольку я копирую содержимое репозитория git в каталог / projects , git устанавливает разрешение 755 с помощью дефолт. Я хочу установить разрешение 775 как неспособное к записи в каталог / project .

Не могли бы вы сообщить мне, как лучше всего это сделать? Я видел InitContainers и не уверен, есть ли лучшее решение. Спасибо за помощь! Заранее спасибо!

1 Ответ

1 голос
/ 28 апреля 2020

Когда вам нужно запустить процесс внутри контейнера как пользователь, не являющийся root, и вы смонтируете том в pod. Но у тома есть разрешение root:root.

Предоставить доступ указанному c пользователю initContainer можно одним из способов, например:

initContainers:
- name: volume-mount-permission
  image: busybox
  command: ["sh", "-c", "chmod 775 /workspace/projects && chown -R <user> /workspace/projects"]
  volumeMounts:
  -name: workspace
   mountPath: /workspace/projects

Вы также можете использовать контекст безопасности . Создайте пользователя и группу, добавьте пользователя в группу в Dockerfile и установите следующее в spe c

spec:
  securityContext:
    runAsUser: <UID>
    runAsGroup: <GID>
    fsGroup: <GID>
...