minishift 上 openshift 客户端的权限问题

Permissions problems with openshift client on minishift

我已经用 cask 安装了 minishift,用 homebrew 安装了 openshift 客户端。

但是,作为开发人员用户,我无法从 openshift cli 创建项目、触发构建等。我总是遇到权限错误:

Error from server (Forbidden): User "developer" cannot list all project.openshift.io.projectrequests in the cluster
Error from server (Forbidden): User "developer" cannot list authorization.openshift.io.rolebindings in project "my_awesome_project"
Error from server (Forbidden): User "developer" cannot create build.openshift.io.buildconfigs/instantiatebinary in project "my_awesome_project"

但是,我可以从 UI 创建项目。如何从命令行授予开发人员用户权限?

我正在使用 MacOS High Sierra:

➜ minishift version
minishift v1.15.1+a5c47dd

➜ oc version
oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth

Server https://192.168.99.100:8443
openshift v1.5.0-rc.0+49a4a7a
kubernetes v1.5.2+43a9be4

您正在使用的 oc 版本 (3.9) 与服务器 (1.5 / 3.5) 不兼容。使用较新版本的 Openshift 或将 oc 降级为 3.6.

如果可能,您应该降级您的客户端或升级您的 minishift 版本以匹配,因为它们不是 100% API 兼容。

您可以轻松使用 minishift oc 二进制文件,这样您仍然可以在需要时保留您是其他客户端(也许您需要 运行 多个版本)。要做到这一点:

localhost# eval $(minishift oc-env)

这将执行:

export PATH="/Users/me/.minishift/cache/oc/v3.7.2/darwin:$PATH"

这样,您将始终使用与您的 minishift 实例相同的客户端版本。