1. role设置
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""] # "" 标明 core API 组
  resources: ["pods"]
  verbs: ["get", "watch", "list"]
  1. rolebinding
apiVersion: rbac.authorization.k8s.io/v1
# 此角色绑定允许 "kafka" 读取 "default" 名字空间中的 Pods
kind: RoleBinding
metadata:
  name: read-pods
  namespace: default
subjects:
# 你可以指定不止一个“subject(主体)”
- kind: User
  name: tom # "name" 是区分大小写的
  apiGroup: rbac.authorization.k8s.io
roleRef:
  # "roleRef" 指定与某 Role 或 ClusterRole 的绑定关系
  kind: Role # 此字段必须是 Role 或 ClusterRole
  name: pod-reader     # 此字段必须与你要绑定的 Role 或 ClusterRole 的名称匹配
  apiGroup: rbac.authorization.k8s.io
  1. check 是否成功
sudo kubectl auth  can-i delete pods --namespace=default --as tom

https://www.qikqiak.com/post/use-rbac-in-k8s/

https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐