我们在 Dockerfile 和 entrypoint shell script 中有“默认”用户,需要在运行时执行。当我们将它部署到 Openshift 集群(4.6)时,pod 有不同的用户,并且由于这个入口点 shell 脚本失败,因此应用程序没有出现。请求您建议如何在 POD 中使用用户执行这些 shell 脚本
问问题
466 次
1 回答
0
Openshift 提供安全上下文约束 (SCC) 来控制 Pod 的权限。使用它们,您可以控制 pod 或容器集合可以执行的权限/操作以及它们可以访问的资源。SCC 允许管理员控制的几件事:
- pod 是否可以运行特权容器。
- 容器的 SELinux 上下文。
- 容器用户 ID。
FSGroup
拥有 pod 卷的分配 。- 允许的补充组的配置。
- 容器是否需要使用只读根文件系统。
- 卷类型的使用。
SCC 由控制 pod 可以访问的安全功能的设置和策略组成。如果我正确理解你的问题,你想检查RunAsUser
策略:
MustRunAs
- 需要runAsUser
配置一个。使用配置runAsUser
的作为默认值。根据配置的runAsUser
.MustRunAsRange
- 如果不使用预分配值,则需要定义最小值和最大值。使用最小值作为默认值。针对整个允许范围进行验证。MustRunAsNonRoot
- 要求以非零值提交 podrunAsUser
或USER
在图像中定义指令。没有提供默认值。RunAsAny
- 没有提供默认值。允许runAsUser
指定任何内容。
有关更多信息,请查看官方 openshift 文档。
于 2020-11-16T08:22:53.897 回答