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

Openshift (Origin) Enable Images to Run with ROOT user

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

Image sebp/elk runs as the root user which might not be permitted by your cluster administrator.

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

Starting periodic command scheduler cron

cron: can't open or create /var/run/crond.pid: Permission denied ...fail!

chown: changing ownership of '/var/lib/elasticsearch': Operation not permitted

我认为这与 root 用户警告有关,然后尝试了这些步骤 Enable Images to Run with USER in the Dockerfile 授予服务帐户对特权 SCC 的访问权限 。它们都因以下错误而失败:

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

Error from server (Forbidden):User "system" cannot get securitycontextconstraints.security.openshift.io at the cluster scope

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

Error from server (Forbidden): User "system" cannot get securitycontextconstraints.security.openshift.io at the cluster scope

非常感谢。

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

oc login -u system:admin

记得在完成后以普通用户身份重新登录。

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

要使用它,运行 按照命令

minishift addon apply anyuid

要了解有关插件的更多信息,请在此处查看 Minishift Addons