如何创建一个用户,该用户可以访问除kubernetes中的一个名称空间之外的所有名称空间

如何创建一个用户,该用户可以访问除kubernetes中的一个名称空间之外的所有名称空间,kubernetes,amazon-eks,Kubernetes,Amazon Eks,如何创建一个名为kubernetes dashboard的用户,该用户可以访问除ns4以外的所有名称空间ns1、ns2、ns3、ns5。 我已经创建了示例名称空间ns1、ns2、ns3和ns4。 我希望我的新用户可以访问ns1、ns2、ns3,但不能访问ns4 在默认命名空间中创建命名的“kubernetes dashboard”: 创建名为“kubernetes仪表板角色” 在我们感兴趣的每个名称空间(ns1、ns2、n3)中创建单独的名称空间,但不在ns4上创建: 测试: 感谢您提供的信息

如何创建一个名为kubernetes dashboard的用户,该用户可以访问除ns4以外的所有名称空间ns1、ns2、ns3、ns5。

  • 我已经创建了示例名称空间ns1、ns2、ns3和ns4。 我希望我的新用户可以访问ns1、ns2、ns3,但不能访问ns4
  • 在默认命名空间中创建命名的“kubernetes dashboard”:
  • 创建名为“kubernetes仪表板角色”
  • 在我们感兴趣的每个名称空间(ns1、ns2、n3)中创建单独的名称空间,但不在ns4上创建:
  • 测试:

  • 感谢您提供的信息,我们能否以相同的方式运行k8s仪表板,因为我需要排除一个看起来很难做到的名称空间。这是文件,指出是否存在任何群集错误:-根据上述解决方案,“错误:必须指定两个或三个参数:谓词、资源和可选资源名”@gauravagnihorti哪个命令出现错误“错误:必须指定两个或三个参数:谓词、资源和可选资源名”这一个:-kubectl auth can-i get pods-n ns1--作为系统:serviceaccount:default:kubernetes仪表盘这很奇怪,对我来说很好[root@project1kubemaster~]#kubectl auth can-i get pods-n ns1--as system:servicecomport:default:kubernetes仪表板编号```
    kubectl get ns
    NAME              STATUS   AGE
    calico-system     Active   21h
    default           Active   21h
    kube-node-lease   Active   21h
    kube-public       Active   21h
    kube-system       Active   21h
    ns1               Active   36m
    ns2               Active   36m
    ns3               Active   36m
    ns4               Active   36m
    tigera-operator   Active   21h
    
    [root@project1kubemaster ~]# kubectl create serviceaccount kubernetes-dashboard
    serviceaccount/kubernetes-dashboard created
    
    
    [root@project1kubemaster ~]# kubectl create clusterrole kubernetes-dashboard-role --verb=* --resource=*
    clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard-role created
    
    
    [root@project1kubemaster ~]# kubectl create rolebinding kubernetes-dashboard-rolebinding-ns1 --clusterrole=kubernetes-dashboard-role --namespace=ns1 --serviceaccount=default:kubernetes-dashboard
    rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-rolebinding-ns1 created
    
    [root@project1kubemaster ~]# kubectl create rolebinding kubernetes-dashboard-rolebinding-ns2 --clusterrole=kubernetes-dashboard-role --namespace=ns2 --serviceaccount=default:kubernetes-dashboard
    rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-rolebinding-ns2 created
    
    [root@project1kubemaster ~]# kubectl create rolebinding kubernetes-dashboard-rolebinding-ns3 --clusterrole=kubernetes-dashboard-role --namespace=ns3 --serviceaccount=default:kubernetes-dashboard
    rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-rolebinding-ns3 created
    
    [root@project1kubemaster ~]# kubectl auth can-i get pods -n ns1 --as  system:serviceaccount:default:kubernetes-dashboard
    yes
    [root@project1kubemaster ~]# kubectl auth can-i get pods -n ns2 --as  system:serviceaccount:default:kubernetes-dashboard
    yes
    [root@project1kubemaster ~]# kubectl auth can-i get pods -n ns3 --as  system:serviceaccount:default:kubernetes-dashboard
    yes
    [root@project1kubemaster ~]# kubectl auth can-i get pods -n ns4 --as  system:serviceaccount:default:kubernetes-dashboard
    no