¿Cómo podría ejecutar el proceso maestro PHP-FPM como usuario no root?

¿Cómo podría ejecutar el proceso maestro PHP-FPM como usuario no root?

Estoy intentando lograr que un pod PHP-FPM sin raíz se ejecute en Kubernetes.

Intenté simplemente ejecutar el proceso en el pod de Kubernetes a través de un script de inicio que funciona php-fpm -FOcomo www-datausuario, pero se queja de no tener permisos para acceder /dev/stderr(ubicación de salida del registro). Agregar www-dataun usuario al ttygrupo tampoco ayudó.

Intenté especificar otra ubicación como /proc/self/fd/2e incluso /dev/pts/1como ubicación de registro, pero fue en vano.

Lo curioso es que cuando ejecuto docker run -itd app:latest su -l www-data -s /bin/sh -c php-fpm -FO &básicamente el mismo comando de inicio a través de Docker directamente, se inicia y funciona bien.

No tengo ninguno securityContextconfigurado en Kubernetes que pueda afectar el inicio normal del proceso.

¿Alguna sugerencia/idea para probar?

Respuesta1

Si experimentas el mismo error en diferentes aplicaciones públicas, puede indicar un problema con GKE. Puedes denunciarlo a través deRastreador de problemas.
Si este error es específico de esta aplicación, considere un agregador de registros diferente, por ejemplo elpatrón de sidecar.
Hay más información sobre cómo iniciar sesión en GKE en estedocumento.
Además, si está utilizando cOS con Docker, debe cambiar a la versión en contenedor porque la primera ya no está disponible.obsoleto.

información relacionada