루트가 아닌 사용자로 PHP-FPM 마스터 프로세스를 어떻게 실행할 수 있습니까?

루트가 아닌 사용자로 PHP-FPM 마스터 프로세스를 어떻게 실행할 수 있습니까?

Kubernetes에서 실행되는 루트 없는 PHP-FPM 포드를 얻으려고 합니다.

php-fpm -FO사용자 로 수행되는 init 스크립트를 통해 Kubernetes Pod에서 프로세스를 간단히 실행하려고 시도했지만 www-data액세스 권한이 없다는 불만이 표시됩니다 /dev/stderr(로그 출력 위치). 그룹 www-data에 사용자를 추가해도 tty도움이되지 않았습니다.

/proc/self/fd/2로그 위치 와 같은 다른 위치를 지정하려고 시도했지만 /dev/pts/1소용이 없었습니다.

재미있는 점은 기본적으로 Docker를 통해 동일한 시작 명령을 직접 실행하면 docker run -itd app:latest su -l www-data -s /bin/sh -c php-fpm -FO &제대로 시작되고 작동한다는 것입니다.

securityContext프로세스가 정상적으로 시작되지 않도록 영향을 미칠 수 있는 구성이 Kubernetes에 없습니다 .

시도해 볼 만한 제안/아이디어가 있나요?

답변1

다른 공개 앱에서 동일한 오류가 발생하면 GKE에 문제가 있다는 의미일 수 있습니다. 다음을 통해 신고할 수 있습니다.이슈 트래커.
이 오류가 이 앱에만 국한된 경우 다른 로깅 수집기를 고려해 보세요.사이드카 패턴.
여기에 GKE 로그인에 대한 자세한 내용이 있습니다.문서.
또한 Docker와 함께 cOS를 사용하는 경우 이전 버전이 포함되어 있기 때문에 Containerd 버전으로 전환해야 합니다.더 이상 사용되지 않음.

관련 정보