我正在尝试使用以下命令公开 docker-registry:
# oc expose service docker-registry --hostname=<hostname> -n default
但是,对于我登录的当前用户,我在输出中遇到“禁止”消息的权限问题。用户具有“管理员”权限。我是 OpenShift 新手,仍在学习。有人可以为我指出如何使用上述命令公开注册表服务的正确方向吗?看起来我可能需要“集群管理员”访问权限才能执行此操作,但不确定如何更改或添加当前用户的角色。
我正在尝试使用以下命令公开 docker-registry:
# oc expose service docker-registry --hostname=<hostname> -n default
但是,对于我登录的当前用户,我在输出中遇到“禁止”消息的权限问题。用户具有“管理员”权限。我是 OpenShift 新手,仍在学习。有人可以为我指出如何使用上述命令公开注册表服务的正确方向吗?看起来我可能需要“集群管理员”访问权限才能执行此操作,但不确定如何更改或添加当前用户的角色。
你的admin角色是针对什么项目?基本上,admin角色被授予一个项目的权限。如上所述,您需要cluster-admin集群角色才能oc expose service在default项目中使用创建路由。或者您是项目所需admin的角色default。每个命令如下授予每个角色。
您还需要cluster-admin角色来运行以下两个命令。
// for instance, the following command is granting cluster-admin role to admin.
$ oc adm policy add-cluster-role-to-user cluster-admin admin
// following command is granting admin of default project role to admin.
$ oc adm policy add-role-to-user admin admin -n default
如果您可以system:admin在通过 ssh 以 root 身份访问 master 主机后登录,您可以获得cluster-admin角色。
# oc login -u system:admin --config /etc/origin/master/admin.kubeconfig
我希望它对你有帮助。