- A+
所属分类:K8S
1、Role:角色,也就是权限,它其实是一组规则,定义了一组对Kubernetes API对象的操作权限
2、Subject:被作用者,图中用户,既可以是“人”,也可以是“机器”,也可以是Kubernetes里定义的“用户”
3、RoleBinding:定义了“被作用者”和“角色”的绑定关系
Role和RoleBinding对象都是Namespaced对象,它们对权限限制规则仅在它们自己的Namespace内有效,roleRef也只能引用当前Namespace里的Role对象
ClusterRole和ClusterRoleBinding针对整个集群,不限于单个namespace
范例:
1.新建K8S内建用户sa
1 2 3 4 5 |
apiVersion: v1 kind: ServiceAccount metadata: namespace: mynamespace name: iyunw-sa |
2.新建权限Role
1 2 3 4 5 6 7 8 9 |
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: mynamespace ## 指定它能产生作用的Namespace name: iyunw-role rules: ## 定义权限规则 - apiGroups: [""] resources: ["pods"] ## 对mynamespace下面的Pod对象 verbs: ["get", "watch", "list"] ## 进行GET、WATCH、LIST操作 |
3.建立角色绑定
1 2 3 4 5 6 7 8 9 10 11 12 13 |
kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: iyunw-rolebinding namespace: mynamespace subjects: - kind: ServiceAccount name: iyunw namespace: mynamespace roleRef: kind: Role name: iyunw-role apiGroup: rbac.authorization.k8s.io |
到此iyunw sa用户就对namespace mynamespace下pod有get watch list权限
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫