Итак, я пытаюсь запустить Nexus на основе этого образа в Kubernetes, но у него не получается:
mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directory
Из документации говорится, что процесс выполняется с UID 200 и том должен быть смонтирован с такими разрешениями:
A persistent directory, /nexus-data, is used for configuration,
logs, and storage. This directory needs to be writable by the Nexus
process, which runs as UID 200.
Я попытался просмотреть документацию, чтобы найти способ монтировать том с этими разрешениями, однако я не смог найти способ сделать это.
Кто-нибудь знает, можете ли вы указать в конфигурации для PVC / PV или Deployment, с каким UID монтировать том? Если так, то как?
permissions
kubernetes
disk-volume
pv
srkiNZ84
источник
источник
command: ["sh", "-c", "chmod 777 /nexus && chown 200:200 /nexus"]
чтобы убедиться, что папка доступна для записи.Как сказал Антон, хотя мы не можем установить UID, используя определение Pod. Вот еще один обходной путь для этой темы.
Пожалуйста, обратитесь к официальному документу Kubernetes. Настройка контекста безопасности для контейнера или контейнера.
Определение стручка, которое я использовал:
Определение сервиса:
А затем создайте пакет и службу без какого-либо разрешения или других ошибок:
Попробуйте войти в контейнер Nexus3 и проверить владельца / разрешение / nexus-data:
Как видите, каталог принадлежит root: nexus, и вы также можете проверить файлы в каталоге:
В этом сила SetGID :)
Теперь давайте проверим, работает ли сервис или нет. Я использую Minikube для запуска кластера kubernetes:
Сервис работает как положено.
источник
Что касается Торстен Bronger «s комментарий , когда вы настроить ConfigMaps и секреты в массиве томов в стручок спецификации, вы можете указать разрешения для обеспечения доступа вы хотите , используя
defaultMode
свойство, так что пока вы не можете установить группу и пользователь собственности, вам может позволить процессам в модуле читать файлы в этих монтировках. Запись в секретную или конфигурационную карту на самом деле не имеет смысла, и режим разрешений по умолчанию равен 755, поэтому чтение не должно быть проблемой для любого пользователя.источник