2

我想在本地 Kubernetes 安装(使用 docker for mac)上访问我的仪表板。我被“封锁”了。我必须提供一个令牌或我的配置,这在 RBAC 更新后是正常的。

现在我不想或每次我想访问我的仪表板时都kubectl proxy启用,所以我安装了一个带有入口(tls)的 nginx 代理,它将我重定向到.port forwardinghttps://kubernetes-dashboard.kube-system.svc.cluster.local:443

这工作正常,但现在我有点困惑,因为我现在可以看到仪表板,而不会遇到 RBAC 问题。

在这里读到:

要使 Dashboard 使用授权标头,您只需在向 Dashboard 的每个请求中传递 Authorization: Bearer。这可以通过在仪表板前面配置反向代理来实现。代理将负责与身份提供者进行身份验证,并将请求标头中生成的令牌传递给仪表板。请注意,Kubernetes API 服务器需要正确配置才能接受这些令牌。

但这对我来说仍然不是很清楚。有人可以解释一下为什么我在仪表板前面创建代理时可以看到仪表板吗?

4

1 回答 1

0

通常需要代理来在网络的不同网段之间传输数据,而无需直接连接它们。网络的每个网段都在与代理主机“对话”,而不知道其他网段的存在。

代理服务器负责有关请求和响应数据包的所有协商和操作。因此,要启用身份验证、授权、SSL 终止和许多其他事情,您需要根据需要配置代理服务器。

如果您可以通过前面的代理看到 Kubernetes 仪表板,这仅意味着您没有在该代理上配置任何安全性。

例如,要了解如何配置 Nginx Ingress 以保护集群中具有基本身份验证的服务,请考虑阅读这篇文章

如需更复杂的安全设置,请阅读有关使用 Ingress、TLS 和 LetsEncrypt 保护 Kubernetes 服务的文章。

于 2018-07-30T16:05:20.613 回答