我为用户“ X”授予了名称空间管理员特权,他无法从kubectl客户端创建部署/配置映射。他能够从K8s Dashboard(UI)创建它们。他也无法从K8s Dashboard(UI)删除部署/配置图,他需要使用kubectl客户端删除部署/配置图。
以下片段是绑定到用户“ X”的角色和群集角色:
以下角色指出用户“ X”将拥有名称空间(ns)内的所有权限:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: ns-admin-role namespace: ns rules: - apiGroups: - '*' resources: - '*' verbs: - '*'
使用命令行创建角色绑定:
kubectl create rolebinding {{usr}}-{{ns}}-admin-rolebinding --role=\"{{ns}}-admin-role\" --user={{usr}} --namespace=\"{{ns}}\"
为了查看Dashboard UI。需要设置一些“ K8s v1.8的默认Dashboard特权”。设置如下:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: kube-system name: user-role-dashboard rules: - apiGroups: ["*"] resources: - services verbs: ["get", "list", "watch"] - apiGroups: ["*"] resources: - services/proxy verbs: ["get", "list", "watch", "create"]
使用命令行创建角色绑定:
kubectl create rolebinding {{usr}}-dashboard-role-binding --role=\"user-role-dashboard\" --user={{usr}} --namespace=\"kube-system\"
下面的代码段用于查看Dashboard UI中的命名空间列表:
kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: ns-view-clusterrole rules: - apiGroups: - "*" resources: - namespaces verbs: - get - list - watch
使用命令行创建Cluterrole绑定:
kubectl create clusterrolebinding {{usr}}-ns-view-clusterrolebinding --clusterrole=\"ns-view-clusterrole\" --user={{usr}}
是K8s问题吗?还是我错过了什么?