Openshift v3 Online上的Builder角色

时间:2017-08-26 20:12:28

标签: git docker openshift

我目前正在尝试在在线版本的Openshift(Starter)上部署应用程序。

我的应用程序在Github public repo上包含它的源代码,并且已经有一个Dockerfile(在我的本地docker机器上成功构建和测试)。

由于我已经在我的机器上克隆了git存储库,所以我刚试过这个命令:

oc new-app .
-> [...]
-> error: buildconfigs.build.openshift.io "myapp" is forbidden: build strategy Docker is not allowed

所以我尝试检查并定义我的帐户的新角色(我是角色绑定中的管理员)

oc policy can-i create buildconfigs
-> yes
oc describe policyBindings :default -n mynamespace
-> [...]
-> RoleBinding[admin]: 
->     Users: myemail@mail.com
oc policy can-i create builds/source
-> yes
oc policy can-i create builds/docker
-> no

所以我想创建一个新的特定角色来创建docker构建:

dockerstategy.yaml

kind: Role
apiVersion: v1
metadata:
  name: dockerbuilder
rules:
- resources:
  - builds/docker
  verbs:
  - create 

但显然它也被禁止了......

oc create -f dockerstrategy.yaml
-> Error from server (Forbidden): error when creating "dockerstrategy.yaml": role.authorization.openshift.io "dockerbuilder" is forbidden: user "myemail@mail.com" cannot grant extra privileges

我已使用相同的命令在本地使用Openshift Origin(使用默认的开发者帐户)部署了相同的应用程序,一切都很好。

这是Red Hat的全局限制,还是我在帐户配置中遗漏了一些内容?

感谢。

1 个答案:

答案 0 :(得分:2)

OpenShift Online目前不支持docker build策略。这是因为提供该功能会给平台带来安全风险,因为构建必须具有提升的权限。提升的权限使得从BotFather运行以构建图像的步骤可以作为/setinlinefeedback执行。风险在于docker构建代码存在安全漏洞,在这种情况下,用户可能成为群集中计算机上的root用户。作为一个你不拥有的共享系统,这会影响你自己,以及它被阻止的原因。

您可以做的是在您自己的系统上构建映像,登录OpenShift为您提供的注册表,然后将映像推送到OpenShift以便您可以使用它。

相关问题