如何在kubernetes仪表板中限制命名空间

如何在kubernetes仪表板中限制命名空间,kubernetes,kubernetes-helm,kubernetes-dashboard,Kubernetes,Kubernetes Helm,Kubernetes Dashboard,我的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 或 是

我的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


是否有可能屏蔽某些环境变量(显示在仪表板中),这些变量包含敏感数据,然后我将保持名称空间的原样。

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

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

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

您可以看到的一个选项是,在每个命名空间中部署kubernetes dashboard的单独实例,并为用户提供对这些单独实例的权限。这里有一些例子


另一件事,如果您正在寻找集群资源的可视化,可以看看使用用户kubeconfig文件操作客户端的东西。

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

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

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

您可以看到的一个选项是,在每个命名空间中部署kubernetes dashboard的单独实例,并为用户提供对这些单独实例的权限。这里有一些例子

另一件事,如果您正在寻找集群资源的可视化,可以看看使用用户kubeconfig文件操作客户端的东西。

这是不可能的

没有这样的标志或环境变量,我知道,也不能在文档中找到

限制访问的唯一可能方法是使用特定的RBAC规则,但您需要记住,这些规则只是附加的。您不能删除对资源的访问,只能添加规则。您需要创建一个用户,该用户在除命名空间“D”之外的每个命名空间中都有一个角色,然后作为该用户访问仪表板。您将被禁止访问命名空间D,因为您首先不允许它

这就是你所能做的。

这是不可能的

没有这样的标志或环境变量,我知道,也不能在文档中找到

限制访问的唯一可能方法是使用特定的RBAC规则,但您需要记住,这些规则只是附加的。您不能删除对资源的访问,只能添加规则。您需要创建一个用户,该用户在除命名空间“D”之外的每个命名空间中都有一个角色,然后作为该用户访问仪表板。您将被禁止访问命名空间D,因为您首先不允许它


这就是您所能做的。

检查这是否有助于您这对我不起作用,我的仪表板已经是只读的,我只想从仪表板中删除一个名称空间,或者我们是否可以屏蔽一些包含敏感数据的环境变量,然后我将保持我的名称空间不变。检查这是否有助于您这对我不起作用,我的仪表板已经是只读的,我只想从仪表板中删除一个名称空间,或者我们可以屏蔽一些包含敏感数据的环境变量,然后我将保持我的名称空间不变。任何可以帮助我创建此类用户和角色的文档,都将为meany文档提供完整帮助,它可以帮助我创建此类用户和角色,对我来说会很有帮助的
dashboard version:- v2.0.0-rc7 
kubernetes version :- 1.17