【问题标题】:OpenShift - Running containers as root in minishiftOpenShift - 在 minishift 中以 root 身份运行容器
【发布时间】:2019-10-02 03:50:31
【问题描述】:

我想在minishift 中从 Docker Hub 运行一个容器,如 article 中所述。由于 Docker Hub 中的映像以 root 运行,并且 OpenShift 不允许以 root 身份运行容器,因此我使用此命令来覆盖此约束。我以system:admin 登录。

oc adm policy add-scc-to-user anyuid -z default

但是,我不断收到此错误:

Error from server (NotFound): the server could not find the requested resource

首先,不清楚,缺少哪个资源,其次,覆盖是否适用于minishiftanyuid SCC 确实存在。

oc get scc
NAME               KIND
anyuid             SecurityContextConstraints.v1.security.openshift.io
hostaccess         SecurityContextConstraints.v1.security.openshift.io
hostmount-anyuid   SecurityContextConstraints.v1.security.openshift.io
hostnetwork        SecurityContextConstraints.v1.security.openshift.io
nonroot            SecurityContextConstraints.v1.security.openshift.io
privileged         SecurityContextConstraints.v1.security.openshift.io
restricted         SecurityContextConstraints.v1.security.openshift.io

【问题讨论】:

  • oc get sa 在该命名空间上会得到什么?你在哪个命名空间工作?
  • 命名空间是指oc project的项目名称?我已将其设置为将保存 Docker 容器映像的项目。并且,在该命名空间上,oc get sa 显示,名称为 builderdefaultdeployer
  • 使用--loglevel 9 运行oc adm policy 命令并查看失败的请求。
  • system 用户似乎没有访问权限。对于admin 用户,命令oc adm policy add-scc-to-user anyuid -z default --loglevel 9 会产生以下输出:pastebin.com/LFtNJmfA
  • 您究竟是如何以集群管理员用户身份登录的。 Minishift 将接受任何用户名和密码,因此如果操作不正确,您可能会以普通用户身份登录。执行此操作的常用方法是 developer 用户运行 oc adm policy add-scc-to-user anyuid -z default --as system:admin。即使用--as进行冒充。

标签: docker openshift root minishift


【解决方案1】:

您需要从主节点(root 用户)以system:admin 登录。

(如果您想远程进行管理员操作,您可以使用以下命令从主节点oc adm policy add-cluster-role-to-user cluster-admin <user> 为单个用户分配集群管理员角色)

首先,在项目中创建一个 ServiceAccount (SA)。

oc project <project>
oc create sa nfs-sa

将安全上下文约束添加到 SA。

oc adm policy add-scc-to-user privileged -z nfs-sa

然后,在 spec 部分的 deploymentconfig/pod 配置中提及 serviceaccount。

serviceAccount: nfs-sa
serviceAccountName: nfs-sa

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 2020-02-19
    • 2020-11-16
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多