openshift - Openshift 路由与外部负载均衡器
问题描述
我很清楚Openshift Routes默认支持 HAproxy,但是在什么情况下我们需要使用外部负载平衡器,当路由也提供负载平衡时。
此外,当使用外部负载均衡器时,仍然会生成内部路由对象,在这种情况下哪个优先?
解决方案
OpenShift 软件定义网络插件 ( https://docs.okd.io/latest/architecture/networking/sdn.html ) 的默认路由通常如下所示
Internet -> Router -> Service -> Pod
这是使用 HAProxy 路由器。HAProxy 路由器“仅限于 HTTP/HTTPS(SNI)/TLS(SNI) [流量],它涵盖了 Web 应用程序。” (https://docs.okd.io/latest/dev_guide/expose_service/expose_internal_ip_router.html)
如果您需要对应用程序入口进行更多控制,或者如果您需要直接 TCP 访问,这就是 LoadBalancer 服务的优势所在(https://docs.okd.io/latest/dev_guide/expose_service/expose_internal_ip_load_balancer.html#automatically-assign -创建磅)。工作流程现在看起来像
Internet -> Load Balancer -> Service -> Pod
这完全绕过了路线。负载均衡器将有自己的 URL/IP 地址,与 HAProxy 路由器实例分开。所以你永远不应该担心流量来自哪里。您可以将应用程序配置为使用负载均衡器或HAProxy 路由器。