Rancher - 多个数据中心节点之间的入口负载平衡(L7)

Rancher - Load balancing (L7) with ingress between nodes in multiple Data Centers

简单的问题,我找不到答案。

如果 Rancher 设置有 2 个节点,例如 2 个独立的数据中心。我们在两者上都有一个应用程序 运行,在 L7 级别上与入口进行负载平衡(入口剥离 SSL)

数据如何从入口传输到 pod,它在多个数据中心之间是否安全?

想到了三种解决方案:

  1. Ingress 在一个节点上并通过 HTTP 将数据发送到另一个节点(不安全)
  2. 入口在一个节点上,但数据通过隧道传输到另一个节点 (Secure/Slow)
  3. 每个节点都有一个入口实例,数据不离开节点(安全)
  4. 还有别的吗?

谁能确认一下 rancher 在这方面是如何实现的。

基于this thread on Rancher forum

入口控制器可能在一个节点上,pods 可以在另一个节点上。当使用 L7 负载平衡时,SSL 在入口处被剥离,流量在没有 SSL 加密的 pod 上转发。

入口和 pods 之间的通信可能会或可能不会隧道化,具体取决于您对 CNI 提供商的 Rancher 配置 (Documentation)

如果 rancher 使用 Canal 设置,那么入口和 pods 之间的通信将通过隧道进行,因此可以防止外部攻击者。

但是,如果 rancher 设置了 Calico,它将不会被隧道化。

因此,根据您的设置,如果您的节点是公开访问的并且有人可能会嗅探您的流量,则您可以使用 Canal。或者,如果您的整个设置都在专用网络上,则可以使用 Calico。

Notice

There is a potential security risk that is not mentioned here.

Neither Calico nor Canal may protect you from malicious pods. So if your configuration demands security level where there can be a pod sniffing traffic, you would need to use other needs to secure your infrastructure.