本文介绍了运行用户ID与Dockerfile中的用户不匹配的OpenShift Pod的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们在Dockerfile和入口点shell脚本中有";default";用户,它们需要在运行时执行。当我们将其部署到OpenShift集群(4.6)中时,Pod有不同的用户,并且由于这个入口点shell脚本失败,所以应用程序没有出现。要求您建议如何使用POD中的用户执行这些shell脚本OpenShift
推荐答案提供安全上下文约束来控制Pod的权限。通过它们,您可以控制Pod或容器集合可以执行的权限/操作,以及它们可以访问哪些资源。 SCC允许管理员控制的几项内容:
Pod是否可以运行特权容器。
容器的SELinux上下文。
容器用户ID。
分配拥有Pod卷的FSGroup
。
允许的补充组的配置。
容器是否需要使用只读根文件系统。
卷类型的用法。
SCC由控制Pod有权访问的安全功能的设置和策略组成。如果我正确理解了您的问题,您想检查RunAsUser
策略:
MustRunAs
-需要配置runAsUser
。使用配置的runAsUser
作为默认值。根据配置的runAsUser
进行验证。
MustRunAsRange
-如果不使用预先分配的值,则需要定义最小值和最大值。使用最小值作为默认值。对照整个允许范围进行验证。
MustRunAsNonRoot
-需要使用非零runAsUser
提交实例或在镜像中定义USER
指令。未提供默认值。
RunAsAny
-未提供默认值。允许指定任何runAsUser
。
有关详细信息,请查看official openshift docs。
这篇关于运行用户ID与Dockerfile中的用户不匹配的OpenShift Pod的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论