你给的case是错的,重新提供一个
时间: 2024-09-24 17:06:13 浏览: 26
非常抱歉给您带来了混淆。让我为您重新提供一个正确的案例,以在 Kubernetes 1.23 中为一个 Role 添加 logs、describe、get、exec 和 edit 的权限:
首先,创建一个名为 "my-app-admin-role" 的 Role:
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: my-app-admin-role
rules:
- apiGroups: ["logs"]
resources: ["logentries"]
verbs: ["get", "list", "watch"]
- apiGroup: ""
resources:
- pods
- services
verbs: ["get", "describe", "exec"]
- apiGroup: apps
resources: ["deployments"]
verbs: ["patch"]
- apiGroup: batch, extensions # 如果batch资源在您的Kubernetes版本可用
resources: ["jobs"]
verbs: ["update"]
```
接下来,为这个 Role 创建一个 RoleBinding,在一个特定的命名空间(如 "my-namespace")中:
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: my-app-admin-binding
namespace: my-namespace
subjects:
- kind: User
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: my-app-admin-role
```
或者是 ClusterRoleBinding,如果需要对整个集群生效:
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: my- kind: ServiceAccount
name: default # 或者您需要的服务账户
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: my-app-admin-role
```
请注意,这里的资源列表可能会因您的集群环境和个人需求而有所不同。在实际应用中,请替换 "admin-user" 为对应的用户或服务账号。
阅读全文