为kubernetes命名空间创建自定义角色时出现此错误。
RBAC错误:来自服务器的错误(禁止):创建时出错 “ role-qa.yaml”:role.rbac.authorization.k8s.io“ qa-role”被禁止
我已经在许多版本的kubernetes上尝试过此方法。 我检查了许多用户提供的有关为用户分配“集群管理员” 角色的解决方案,并做了相同的工作,但仍然无法解决此问题。
下面是所需的详细信息。
namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: qa
---
apiVersion: v1
kind: Namespace
metadata:
name: prod
我仔细检查了用于kubernetes访问的用户,如下所示。
gcloud配置列表
输出:
[core]
account = xyz@gmail.com
disable_usage_reporting = True
project = sonar-198615
gcloud身份验证列表
输出:
Credentialed Accounts
ACTIVE ACCOUNT
* xyz@gmail.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
我还检查了是否将群集角色分配给用户,以及用户是否具有群集管理员角色。
下面是我得到的全部错误。
Error from server (Forbidden): error when creating "role-qa.yaml":
roles.rbac.authorization.k8s.io "qa-role" is forbidden: attempt to
grant extra privileges: [PolicyRule{APIGroups:[""],
Resources:["pods"], Verbs:["get"]} PolicyRule{APIGroups:[""],
Resources:["pods"], Verbs:["watch"]} PolicyRule{APIGroups:[""],
Resources:["pods"], Verbs:["list"]}] user=&{xyz@gmail.com
[system:authenticated]
map[user-assertion.cloud.google.com:[AF1jyJCtSZd2sdmeNfdVbJyylD/nTw8h9aQznfgDOI8n4n7MlK9ncU0r+UXrVCgySWVv4wJHg85db75ekmhV67qyxwVP7tv0KzEKtEz7agxSXSu+qZsxBjoKHIQpjlhrT9mc7cRAvB/OxTxvi8xexAC7fvf563Ttwoejx11F6Bs3qXElIhDDtTKT0O8S0eWIFcHoWMrs+nIdvcsbXaQLHL4+E2+Uufjrp3f+8nyC]]}
ownerrules=[PolicyRule{APIGroups:["authorization.k8s.io"],
Resources:["selfsubjectaccessreviews" "selfsubjectrulesreviews"],
Verbs:["create"]} PolicyRule{NonResourceURLs:["/api" "/api/*" "/apis"
"/apis/*" "/healthz" "/openapi" "/openapi/*" "/swagger-2.0.0.pb-v1"
"/swagger.json" "/swaggerapi" "/swaggerapi/*" "/version" "/version/"],
Verbs:["get"]}] ruleResolutionErrors=[]
请告诉我是否有人需要进一步的信息。