赋予 ServiceAccount 权限显示error: failed to create rolebinding: rolebindings.rbac.authorization.k8s.io “admin” already exists如何删除admin从新创建
时间: 2024-09-13 21:09:13 浏览: 89
基于Django3.2.6与DRF3.x的迷你RBAC权限管理服务器源码
这个错误信息表明在Kubernetes集群中,您尝试创建一个名为`admin`的角色绑定(rolebinding),但是该角色绑定已经存在了。在这种情况下,您需要先删除已存在的`admin`角色绑定,然后再尝试创建新的角色绑定。
要删除一个已存在的角色绑定,您可以使用以下命令:
```shell
kubectl delete rolebinding admin
```
这条命令会删除名为`admin`的角色绑定。一旦删除成功,您可以重新创建角色绑定,确保在创建命令中使用正确的名称、角色(role)和用户(user)或服务账户(serviceaccount)。
创建新的角色绑定的命令格式如下:
```shell
kubectl create rolebinding admin --clusterrole=cluster-admin --serviceaccount=default:default
```
这里的`admin`是您要创建的角色绑定的名称,`cluster-admin`是一个示例的集群角色(clusterrole),用于指定赋予给服务账户的权限级别,而`default:default`是命名空间(namespace)和服务账户的组合,表示使用默认命名空间中的默认服务账户。您需要根据实际情况替换为您自己的命名空间和服务账户。
在执行上述操作之前,请确保您拥有足够的权限来删除和创建角色绑定,通常需要管理员权限。
阅读全文