OpenShift:名称空间被禁止:用户<;用户名>;无法列出资源“;名称空间;在群集范围的API组中

OpenShift:名称空间被禁止:用户<;用户名>;无法列出资源“;名称空间;在群集范围的API组中,openshift,Openshift,我已经创建了一个新用户,并为一个项目分配了it管理员角色 我正在运行一些试图部署到该项目的代码,但我得到以下结果: namespaces is forbidden: User <user-name> cannot list resource "namespaces" in API group at the cluster scope 它们似乎没有任何效果 使用OpenShift 4.2的默认角色列表和角色概述。您可以通过以下方式检查角色的可能性: oc describe clust

我已经创建了一个新用户,并为一个项目分配了it管理员角色

我正在运行一些试图部署到该项目的代码,但我得到以下结果:

namespaces is forbidden: User <user-name> cannot list resource "namespaces" in API group at the cluster scope
它们似乎没有任何效果

使用OpenShift 4.2的默认角色列表和角色概述。您可以通过以下方式检查角色的可能性:

oc describe clusterrole.rbac
它返回具有指定谓词的可用角色列表。例如,集群范围的角色“集群阅读器”在名称空间上具有以下动词,可用于列出名称空间:

namespaces  []  []  [get list watch]

名称空间是集群范围的对象,因此您必须向用户提供集群范围的角色,例如cluster admin@Oligzeev,所以仅列出名称空间,我需要集群管理员角色?或者我可以使用更细粒度、更直接的ClusterRole?尝试列出项目。OpenShift围绕Kubernetes中的项目和名称空间组织事情<代码>oc get projects。那么为什么您认为这个命令失败了
oc adm策略将群集角色添加到用户名称空间my admin
,因为没有此类角色“名称空间”。就角色而言,名称空间是一种资源,你要杀了我。我需要运行什么命令才能让用户访问名称空间get/list,而不必让用户成为集群管理员?这就是我想要的!要列出名称空间:oc adm策略将群集角色添加到用户群集读取器my admin
namespaces  []  []  [get list watch]