当前位置: 首页 > 知识库问答 >
问题:

外部负载平衡器如何了解istio入口网关

熊博远
2023-03-14

当将外部负载平衡器与istio入口网关(分布在不同节点上的多个副本)一起使用时,它如何识别可能命中的istio入口网关,即我可以手动访问任何节点的nodeip:nodeport/endpoint,但外部负载平衡器如何知道所有节点。

这是手动配置的还是负载均衡器从API中使用此信息是否有绕过外部负载均衡器的推荐策略,例如。roundrobin跨知道节点ip/端口的DNS?

这个问题的根源是——我们如何避免单点故障。使用多个istio入口网关副本可以在istio中实现这一点,但外部负载平衡器/负载平衡器集群需要知道副本。这是自动配置还是手动配置,或者是否存在外部负载平衡器命中的单个虚拟endpoint?

共有2个答案

楚硕
2023-03-14

为服务启用ClusterIP而不是节点端口。任何LB都可以与入口一起使用。但这取决于您使用的平台。它是裸机或开放式的,IBM云,谷歌云。一旦入口控制器(Metalb、ngnix、流量)能够与任何LB通信,如F5 GTM或LTM,就可以在前面设置。

邢勇
2023-03-14

外部负载均衡器通常配置为对您的节点集进行健康检查(通过/Health zendpoint或其他方法),并使用LB算法平衡传入流量,方法是通过服务的NodePort将其接收到的数据包发送到健康节点之一。

事实上,这主要是NodePort类型服务首先存在的原因——它们本身没有太多用途,但它们是模式LoadBalancerClusterIP之间的中间步骤。

负载平衡器如何知道节点?这在很大程度上取决于负载平衡器。例如,如果在BGP模式下使用MetalLB,则需要将节点作为对等节点添加到外部BGP路由器(手动或自动)。MetalLB负责向路由器公布负载平衡器类型服务的IP。这意味着,路由器有效地成为集群的负载平衡器。

还有许多企业级商业Kubernetes负载平衡器,例如F5 Big IP。

 类似资料:
  • 我必须手动在MS Azure中创建Kubernetes群集,而不是使用AKS。因此: > 我在一个可用性集中创建了2个VM:一个用于k8s master,第二个用于k8s节点。 我创建了外部负载均衡器并将2个VM添加到后端池。 我使用kubes祈祷创建了k8s集群。 我创建了部署和负载均衡器服务: 但LoadBalancer服务外部IP始终处于挂起状态: 此外,telnet azure\u loa

  • 是否可以在没有负载均衡器的情况下在库伯内特斯中使用入口控制器功能(在数字海洋中)。 是否有其他机制允许域名映射到Kubernetes服务;例如,如果我在Kubernetes集群上托管两个WordPress站点: == 域名如何在不显式输入端口号的情况下映射到容器端口8080。 感谢任何帮助。

  • 负载均衡器的作用是将流量转发到主机。在这方面,ingress与负载均衡器有何不同?另外,与Amazon ELB和ALB相比,kubernetes内部的负载均衡器是什么概念?

  • 我正在DigitalOcean上使用CoreOs和库伯内特斯构建一个容器集群,我已经看到,为了向世界公开Pod,您必须使用Type: LoadBalancer创建一个服务。我认为这是最佳解决方案,因此您不需要在nginx或haagent等kubernetes之外添加外部负载均衡器。我想知道是否可以使用DO的浮动IP创建它。

  • 在Kubernetes中创建负载平衡器类型的服务时,它是创建一个全新的外部负载平衡器,还是只为负载平衡器类型的第一个服务创建一个负载平衡器,并将该负载平衡器重新用于负载平衡器类型的所有后续服务? 这个问题特别重要,因为为每个服务构建一个单独的负载平衡器对我来说成本太高。 如果它特定于云提供商,我使用Azure,但我很想知道其他云提供商是否不同。

  • Kubernetes如何知道其上运行的外部云提供商? 是否有任何特定的服务在Master中运行,以确定Kubernetes集群是否在AWS或Google云中运行? 即使它能够找出它是AWS或Google,它从哪里获取凭据来创建外部AWS/Google负载均衡器?我们是否必须在某个地方配置凭据,以便它从那里选择它并创建外部负载均衡器?