外部负载均衡器如何了解 Istio 入口网关
How does an external load balancer learn of istio ingress gateways
当使用带有 istio 入口网关的外部负载均衡器(多个副本分布在不同的节点上)时,它如何识别它可能命中哪个 istio 入口网关,即我可以手动访问 nodeip:nodeport/endpoint 任何手动节点,但外部负载均衡器如何知道所有节点。
这是手动配置的还是负载均衡器使用来自 API 的此信息
是否有绕过外部负载平衡器的推荐策略,例如。知道节点 ip / 端口的 DNS 上的循环机制 ?
这个问题的根源是——我们如何避免单点故障。使用多个 istio 入口网关副本在 istio 中实现了这一点,但外部负载均衡器/负载均衡器集群需要知道副本。这是自动配置还是手动配置,或者是否存在外部负载均衡器命中的单个虚拟端点?
外部负载平衡器通常配置为对您的节点集进行健康检查(通过 /healthz
端点或其他方法),并使用 LB 算法平衡传入流量,方法是发送它接收到的数据包通过服务的 NodePort 到 一个健康的节点。
事实上,这主要是 NodePort 类型服务首先存在的原因 - 它们本身并没有太多用途,但它们是模式 LoadBalancer
和 [= 之间的中间步骤12=].
负载均衡器如何了解节点?它在很大程度上取决于负载均衡器。例如,如果您在 BGP 模式下使用 MetalLB,则需要将节点作为对等节点添加到外部 BGP 路由器(手动或自动方式)。 MetalLB 负责将 LoadBalancer 类型服务的 IP 广播到路由器。这意味着,该路由器实际上成为集群的负载均衡器。
还有许多企业级商业 Kubernetes 负载均衡器,例如 F5 Big-IP。
为服务启用 ClusterIP 而不是节点端口。任何 LB 都可以与入口一起使用。但这取决于您使用的平台。它是裸机或开放式转变、IBM 云、Google 云。一旦入口控制器(Metalb、ngnix、Traffic)能够通信,就可以在前面设置任何 LB,如 F5 GTM 或 LTM。
当使用带有 istio 入口网关的外部负载均衡器(多个副本分布在不同的节点上)时,它如何识别它可能命中哪个 istio 入口网关,即我可以手动访问 nodeip:nodeport/endpoint 任何手动节点,但外部负载均衡器如何知道所有节点。
这是手动配置的还是负载均衡器使用来自 API 的此信息 是否有绕过外部负载平衡器的推荐策略,例如。知道节点 ip / 端口的 DNS 上的循环机制 ?
这个问题的根源是——我们如何避免单点故障。使用多个 istio 入口网关副本在 istio 中实现了这一点,但外部负载均衡器/负载均衡器集群需要知道副本。这是自动配置还是手动配置,或者是否存在外部负载均衡器命中的单个虚拟端点?
外部负载平衡器通常配置为对您的节点集进行健康检查(通过 /healthz
端点或其他方法),并使用 LB 算法平衡传入流量,方法是发送它接收到的数据包通过服务的 NodePort 到 一个健康的节点。
事实上,这主要是 NodePort 类型服务首先存在的原因 - 它们本身并没有太多用途,但它们是模式 LoadBalancer
和 [= 之间的中间步骤12=].
负载均衡器如何了解节点?它在很大程度上取决于负载均衡器。例如,如果您在 BGP 模式下使用 MetalLB,则需要将节点作为对等节点添加到外部 BGP 路由器(手动或自动方式)。 MetalLB 负责将 LoadBalancer 类型服务的 IP 广播到路由器。这意味着,该路由器实际上成为集群的负载均衡器。
还有许多企业级商业 Kubernetes 负载均衡器,例如 F5 Big-IP。
为服务启用 ClusterIP 而不是节点端口。任何 LB 都可以与入口一起使用。但这取决于您使用的平台。它是裸机或开放式转变、IBM 云、Google 云。一旦入口控制器(Metalb、ngnix、Traffic)能够通信,就可以在前面设置任何 LB,如 F5 GTM 或 LTM。