Como eu poderia executar o processo mestre PHP-FPM como usuário não root?

Como eu poderia executar o processo mestre PHP-FPM como usuário não root?

Estou tentando obter um pod PHP-FPM sem root em execução no Kubernetes.

Tentei simplesmente executar o processo no pod do Kubernetes por meio do script de inicialização que funciona php-fpm -FOcomo www-datausuário, mas ele reclama de não ter permissões de acesso /dev/stderr(local de saída do registro). Adicionar www-datausuário ao ttygrupo também não ajudou.

Tentei especificar outro local como /proc/self/fd/2e até mesmo /dev/pts/1como local de log, mas sem sucesso.

O engraçado é que, quando executo docker run -itd app:latest su -l www-data -s /bin/sh -c php-fpm -FO &, basicamente o mesmo comando de inicialização via Docker diretamente, ele inicia e funciona perfeitamente.

Não tenho nenhum securityContextconfigurado no Kubernetes que possa afetar o início normal do processo.

Alguma sugestão/ideia para tentar?

Responder1

Se você encontrar o mesmo erro em aplicativos públicos diferentes, isso pode indicar um problema com o GKE. Você pode denunciá-lo viaRastreador de problemas.
Se esse erro for específico deste aplicativo, considere um agregador de registro diferente, por exemplo, opadrão de carro lateral.
Há mais informações sobre como fazer login no GKE nestedocumento.
Além disso, se você estiver usando cOS com Docker, você deve mudar para a versão containerd porque a primeira foidescontinuada.

informação relacionada