【问题标题】:Kubernetes master node restrict to showKubernetes 主节点限制显示
【发布时间】:2019-06-15 13:04:39
【问题描述】:

我有一个 Kubernetes 集群

在主节点中,

如果我给出命令kubectl get nodes,它应该会显示所有节点。

但是,如果我在节点中给出相同的命令,它不应该显示主节点。

在 kubernetes 中可以吗?

请帮助任何人。提前致谢。

【问题讨论】:

  • 你能解释一下你为什么要这样吗?
  • 感谢您的回复。我的情况是主服务器不应该暴露给其他人。因为,我将在主服务器中安装我自己的代理。所以用户不应该了解主服务器。
  • 所以您有可以访问集群的用户,但您不希望他们能够在主节点上运行工作负载? an issue 可能会描述这种情况。一个建议是运行此admission controller 以禁止尝试容忍在主节点上运行的新 pod。我不确定如何设置它。

标签: kubernetes kubectl


【解决方案1】:

不,这是不可能的。 Kubernetes API 将始终以相同的方式响应相同的查询。 kubectl get nodes 正在询问有关所有节点的信息,并且 api 将始终使用所有节点回答授权用户。

使用 RBAC 可以限制特定用户或帐户有权查看或编辑的内容,但 nodes 资源没有命名空间,也没有提供粒度来限制对某些节点的访问。

不过,您可以按照自己喜欢的方式过滤kubectl get nodes 的结果。 This question 有一些很好的例子,它们使用 kubectl 的 -l 参数仅显示工作节点。

【讨论】:

  • 我认为这是可能的。我已签入digitalocean.com。在这个服务器中,如果访问 kubectl get nodes 将不会显示主服务器。
  • 我想 digitalocean 正在运行一个补丁版本的 kubernetes api 服务器,它不会从此类调用中返回主节点。
  • 或者他们只是从集群外部运行 apiserver,实际上根本没有主节点。只有工人。
猜你喜欢
  • 2019-05-31
  • 2020-09-27
  • 1970-01-01
  • 2018-09-06
  • 2019-01-21
  • 1970-01-01
  • 2020-07-08
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多