首页 > 解决方案 > 如何在 Kubernetes 仪表板中限制命名空间

问题描述

我的 kubernetes 仪表板运行成功,它显示了 kubernetes 集群中可用的所有命名空间。

示例:- 可用的命名空间:- A、B、C、D、E

现在我想从 kubernetes 仪表板中删除/限制一个命名空间(比如 D)。怎么可能。

使用helm部署kubernetes仪表板,下面是repo的链接。

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

dashboard version:- v2.0.0-rc7 
kubernetes version :- 1.17

或者

是否可以屏蔽一些具有敏感数据的环境变量(显示在仪表板中),然后我将保持我的命名空间不变。

标签: kuberneteskubernetes-helmkubernetes-dashboard

解决方案


FWIW,我认为这在基本的 Kubernetes 仪表板设置中是不可能的。原因是 Kubernetes RBAC 不允许 GET 访问给定类型的某些但不是所有资源的概念 (AFAIK)。

因此,当它列出可用的命名空间时,它需要在命名空间资源上有 GET,但没有 GET “除此之外的所有命名空间”的概念

使用正确的 RBAC,您可能会阻止它看到名称空间名称之外的任何内容,但我猜这不会成为默认清单的一部分。

您可能会看到一个选项,即在每个命名空间中部署一个单独的 kubernetes 仪表板实例,并授予用户对这些单独实例的权限。这里有一些例子。

另一件事,如果您正在寻找集群资源的可视化,可能是查看诸如octant之类的东西,它使用用户 kubeconfig 文件在客户端运行。


推荐阅读