Openshift不允许以root用户身份运行容器,但是您可以通过创建服务帐户来做到这一点:
oc adm policy add-scc-to-user anyuid -z useroot
然后修补部署配置,因此将可以使用新更改部署新的复制控制器版本,是否可以创建服务帐户并将其包含在以下命令中:
oc new-app --name=test --docker-image=myregistry.com/test:latest
,并在上面的命令中包含服务帐户名,以避免使用新版本的应用程序,或者是否有其他可能预见此root用户权限错误,并降低pod以root用户身份运行而无需修补或重新部署的安全性该应用程序
答案 0 :(得分:0)
Will and Graham已经为您提供了很好的评论, 因此,我建议对它们的其他实用细节如下。
如果您在anyuid
之前将scc
default
授予ServiceAccount
oc new-app
,则test
窗格将以{{1} }权限,无需更改版本。
root
OR
如果您需要指定自定义# oc adm policy add-scc-to-user anyuid -z default
# oc new-app --name=test --docker-image=myregistry.com/test:latest
# oc rollout history dc/test
deploymentconfigs "test"
REVISION STATUS CAUSE
1 Complete config change
# oc rsh dc/test id
uid=0(root) gid=0(root) groups=0(root)
名称,则可以在添加ServiceAccount
元素之后提取oc new-app
yaml并创建资源。这些步骤也不会更改部署版本。
serviceAccountName: useroot