我想在本地Kubernetes安装上访问我的仪表板(使用docker for mac)。我被“封锁”了。自RBAC更新以来,我必须提供正常的令牌或配置。
现在,我不想每次访问仪表板时都kubectl proxy
或启用port forwarding
,所以我安装了带有入口(tls)的nginx代理,该代理将我重定向到{{1} }。
这很好,但是现在我有点困惑,因为我现在可以看到仪表板,而不会遇到RBAC问题。
我读了here:
要使Dashboard使用授权标头,您只需要传递 授权:在对仪表板的每个请求中均保持不记名。这个可以 可以通过在仪表板前面配置反向代理来实现。 代理将负责与身份提供者进行身份验证 并将在请求标头中将生成的令牌传递给仪表板。注意 需要正确配置Kubernetes API服务器才能接受 这些令牌。
但是对我来说仍然不是很清楚。有人可以解释一下为什么我在仪表盘前面创建代理时可以看到仪表盘吗?
答案 0 :(得分:0)
通常需要代理来在网络的不同部分之间传输数据,而无需直接连接它们。 网络的每个网段都在与代理主机“交谈”,而没有其他网段的存在的信息。
代理服务器负责有关请求和响应数据包的所有协商和操作。因此,要启用身份验证,授权,SSL终止和许多其他功能,您需要根据需要配置代理服务器。
如果您可以通过前面的代理看到kubernetes仪表板,则表示您未在该代理上配置任何安全性。
例如,要了解如何配置Nginx Ingress以保护群集中具有基本身份验证的服务,请考虑阅读此article。
有关更复杂的安全设置,请阅读有关securing Kubernetes services with Ingress, TLS and LetsEncrypt的文章。