Kubernetes Pod 中文档文件的权限,具有单独的 Nginx 和 FPM 容器

Permissions for Document Files in Kubernetes Pod, with Separate Nginx and FPM Containers

给定一个 pod 运行 一个 Nginx 容器和一个 PHP-FPM 容器,应用程序文档权限的最佳实践是什么?

目前我在容器之间共享一个卷,以便 Nginx 可以访问 PHP 文件。这行得通,但是文件由 FPM 容器中的用户 www-data 拥有,而 Nginx 容器中不存在该用户,导致它们由具有相同 UID 的任何用户拥有。

这显然是错误的,那什么是对的呢?到目前为止我考虑过的选项:

None 其中看起来很有吸引力。

这是 kubernetes 中 Security Context 的情况,您可以在其中为您的 pods.

指定 uid、gid 或补充 gid (fsgroup)

例如设置:

spec:
  securityContext:
    runAsUser: 1000
    runAsGroup: 3000
    fsGroup: 2000

将使您进步 运行 作为用户 1000,主要组 3000 和补充组 2000。

您没有指定是否需要 pods 来编辑该卷中的文件,如果不是这种情况 - 仅添加 fsGroup 应该足以授予只读权限(通过默认)添加到您的文件,而不会以任何有意义的方式影响您现有的工作负载。

否则您可以强制使用相同的 UID,但这可能需要您重新配置您的应用程序

另请参阅: