无法通过K8s中具有命名空间管理员访问权限的kubectl客户端创建部署/配置映射

时间:2018-10-10 10:16:03

标签: kubernetes

我为用户“ 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问题吗?还是我错过了什么?

0 个答案:

没有答案