2

我们在 Dockerfile 和 entrypoint shell script 中有“默认”用户,需要在运行时执行。当我们将它部署到 Openshift 集群(4.6)时,pod 有不同的用户,并且由于这个入口点 shell 脚本失败,因此应用程序没有出现。请求您建议如何在 POD 中使用用户执行这些 shell 脚本

4

1 回答 1

0

Openshift 提供安全上下文约束 (SCC) 来控制 Pod 的权限。使用它们,您可以控制 pod 或容器集合可以执行的权限/操作以及它们可以访问的资源。SCC 允许管理员控制的几件事:

  • pod 是否可以运行特权容器。
  • 容器的 SELinux 上下文。
  • 容器用户 ID。
  • FSGroup 拥有 pod 卷的分配 。
  • 允许的补充组的配置。
  • 容器是否需要使用只读根文件系统。
  • 卷类型的使用。

SCC 由控制 pod 可以访问的安全功能的设置和策略组成。如果我正确理解你的问题,你想检查RunAsUser策略:

  1. MustRunAs - 需要 runAsUser 配置一个。使用配置 runAsUser 的作为默认值。根据配置的 runAsUser.

  2. MustRunAsRange - 如果不使用预分配值,则需要定义最小值和最大值。使用最小值作为默认值。针对整个允许范围进行验证。

  3. MustRunAsNonRoot - 要求以非零值提交 pod runAsUserUSER 在图像中定义指令。没有提供默认值。

  4. RunAsAny - 没有提供默认值。允许 runAsUser 指定任何内容。

有关更多信息,请查看官方 openshift 文档

于 2020-11-16T08:22:53.897 回答