我的kubernetes仪表板运行成功,并且显示了kubernetes集群中所有可用的名称空间。
示例:- 可用的命名空间:-A,B,C,D,E
现在,我想从kubernetes仪表板中删除/限制一个名称空间(例如D)。怎么可能。
使用头盔部署kubernetes仪表板,以下是仓库的链接。
https://github.com/kubernetes/dashboard/tree/master/aio/deploy/helm-chart/kubernetes-dashboard
dashboard version:- v2.0.0-rc7
kubernetes version :- 1.17
OR
是否可以屏蔽某些包含敏感数据的环境变量(显示在仪表板中),然后将其命名空间保持不变。
答案 0 :(得分:0)
FWIW,我认为基本的Kubernetes仪表板设置不可能做到这一点。原因是Kubernetes RBAC不允许使用GET访问给定类型(AFAIK)的部分但不是全部资源的概念。
因此,当列出可用的名称空间时,需要在名称空间资源上使用GET,但是没有GET的概念“除此名称空间外的所有名称空间”
使用正确的RBAC,您也许可以阻止它看到名称空间名称之外的任何内容,但我想这不会成为默认清单的一部分。
您可能会看到的一个选择是,在每个命名空间中部署一个单独的kubernetes仪表板实例,并向用户授予对这些单独实例的权限。有here的一些示例。
如果要寻找集群资源的可视化,另一件事可能是查看类似octant的东西,该东西使用用户kubeconfig文件在客户端进行操作。
答案 1 :(得分:0)
这是不可能的。
在文档中我也找不到或找不到这样的标志或环境变量。
限制访问的唯一可能方法是通过特定的RBAC规则,但是您需要记住,这些仅是可加的。您不能删除对资源的访问,只能添加规则。您需要创建一个在除名称空间“ D”之外的每个名称空间中都具有角色的用户,然后以该用户身份访问仪表板,因为您首先不允许使用该名称空间,所以您将被禁止访问名称空间D。>
这就是您所能做的。