
Я пытаюсь реализовать запуск PHP-FPM-пода без рутирования в Kubernetes.
Я попробовал просто запустить процесс в модуле Kubernetes через скрипт инициализации, который работает php-fpm -FO
от имени www-data
пользователя, но он жалуется на отсутствие прав доступа /dev/stderr
(Расположение выходного файла журнала). Добавление www-data
пользователя в tty
группу также не помогло.
Я пробовал указать другое местоположение, например, /proc/self/fd/2
и даже /dev/pts/1
в качестве местоположения журнала, но безрезультатно.
Самое забавное, что когда я запускаю docker run -itd app:latest su -l www-data -s /bin/sh -c php-fpm -FO &
, по сути, ту же самую команду запуска напрямую через Docker, она запускается и работает просто отлично.
У меня нет никаких securityContext
настроек в Kubernetes, которые могли бы помешать нормальному запуску процесса.
Есть ли какие-нибудь предложения/идеи, которые стоит попробовать?
решение1
Если вы сталкиваетесь с той же ошибкой в разных общедоступных приложениях, это может указывать на проблему с GKE. Вы можете сообщить об этом черезТрекер проблем.
Если эта ошибка характерна для этого приложения, рассмотрите другой агрегатор журналов, напримермодель коляски.
Более подробную информацию о регистрации в GKE можно найти здесь.документ.
Кроме того, если вы используете cOS с Docker, вам следует перейти на версию containerd, поскольку первая версия былаустаревший.