我正在尝试使用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 Dockerfile和Grant 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
非常感谢。
答案 0 :(得分:3)
启用以anyuid
运行图像的命令需要以管理员身份运行。对于Minishift,您可以使用以下命令以管理员身份登录:
oc login -u system:admin
请务必在完成后以普通用户身份重新登录。
答案 1 :(得分:3)
对于此特定用例,我们有anyuid
addon。考虑使用它。
要使用它,请运行以下命令
minishift addon apply anyuid
要了解有关插件的更多信息,请点击此处Minishift Addons。