Openshift(Origin)启用ROOT用户运行的图像

时间:2018-01-22 13:20:37

标签: docker elasticsearch openshift minishift

我正在尝试使用openshift运行简单的elk容器(使用minishift)。我尝试运行的图片是this elk图片。在图像部署到openshift期间,它会发出以下警告:

  

图像sebp / elk以root用户身份运行,您的群集管理员可能不允许这样做。

我忽略此错误并使用此图片创建部署。在该pod尝试启动容器之后,它失败并出现以下错误:

  

启动定期命令调度程序cron

     

cron:无法打开或创建/var/run/crond.pid:权限被拒绝...失败!

     

chown:更改' / var / lib / elasticsearch'的所有权:不允许操作

我认为我与root用户警告有关,然后尝试了这些步骤Enable Images to Run with USER in the DockerfileGrant a Service Account Access to the Privileged SCC 。它们都失败了以下错误:

  

Murats-MacBook-Pro-2:~murat $ oc adm policy add-scc-to-group anyuid system:authenticated

     

来自服务器的错误(禁止):用户"系统"无法在集群范围内获得securitycontextconstraints.security.openshift.io

     

Murats-MacBook-Pro-2:~murat $ oc adm policy add-scc-to-user anyuid system:serviceaccount:elk:elk

     

来自服务器的错误(禁止):用户"系统"无法在集群范围内获得securitycontextconstraints.security.openshift.io

非常感谢。

2 个答案:

答案 0 :(得分:3)

启用以anyuid运行图像的命令需要以管理员身份运行。对于Minishift,您可以使用以下命令以管理员身份登录:

oc login -u system:admin

请务必在完成后以普通用户身份重新登录。

答案 1 :(得分:3)

对于此特定用例,我们有anyuid addon。考虑使用它。

要使用它,请运行以下命令

minishift addon apply anyuid

要了解有关插件的更多信息,请点击此处Minishift Addons