kubernetes - 如何在Kubernetes仪表板中限制 namespace

标签 kubernetes kubernetes-helm kubernetes-dashboard

我的kubernetes仪表板成功运行,并且显示了kubernetes集群中可用的所有 namespace 。
例:-
可用的命名空间:-A,B,C,D,E
现在我想从kubernetes仪表板上删除/限制一个 namespace (例如D)。怎么可能。
用 Helm 来部署kubernetes仪表板,下面是仓库的链接。

https://github.com/kubernetes/dashboard/tree/master/aio/deploy/helm-chart/kubernetes-dashboard

dashboard version:- v2.0.0-rc7 
kubernetes version :- 1.17
要么
是否可以屏蔽某些包含敏感数据的环境变量(显示在仪表板上),然后我将其命名空间保持不变。

最佳答案

FWIW,我认为基本的Kubernetes仪表板设置不可能做到这一点。原因是Kubernetes RBAC不允许使用GET访问给定类型(AFAIK)的部分但不是全部资源的概念。
因此,当列出可用的 namespace 时,需要在 namespace 资源上使用GET,但是没有GET的概念“除此 namespace 外的所有 namespace ”
使用正确的RBAC,您也许可以阻止它看到 namespace 名称之外的任何内容,但是我想这不会成为默认 list 的一部分。
您可能会看到的一个选择是,在每个 namespace 中部署kubernetes仪表板的单独实例,并为用户授予这些单独实例的权限。有一些here的示例。
如果要寻找群集资源的可视化,另一件事可能是查看类似于octant的内容,该内容使用用户kubeconfig文件在客户端进行操作。

关于kubernetes - 如何在Kubernetes仪表板中限制 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64571336/

相关文章:

kubernetes - AWS ELB或内部LB后面的Kubernetes仪表板

docker - kubernetes pod的好用例是什么?

docker - Kubernetes:在命令属性文件中找不到文件

kubernetes - 非法状态异常 : No entry found for connection 1001 Kafka Kubernetes

kubernetes - Helm 安装失败并显示 "rendered manifests contain a resource that already exists"(ClusterRole)

kubernetes-helm - 错误 : validation failed: unable to recognize "": no matches for kind "Deployment" in version ""

kubernetes - AutoScaling工作负载不会耗尽内存

docker - 如何用非root用户创建K8S集群?

Kubernetes 仪表板 : Get https://10. 96.0.1 :443/version: dial tcp 10. 96.0.1:443: i/o 超时