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

kube路由器IPVS最少连接算法,负载平衡是在同一个节点还是不同的节点?

江坚成
2023-03-14

我正在开发的应用程序作为kubernetes集群中的部署运行。为该部署创建的pod分布在集群中的各个节点上。我们的应用程序一次只能处理一个TCP连接,并将拒绝进一步的连接。目前,我们使用kube代理(Iptables模式)在各个节点的pod之间分配负载,但pod是以随机方式选择的,当其传递到繁忙的pod时,连接会断开。我可以在我的用例中使用Kube router的基于最小连接的负载平衡算法吗。我希望流量在不同节点上运行的不同pod之间实现负载平衡。我可以使用Kube路由器实现这一点吗。

据我所知,kube代理的IPVS模式仅在同一节点中的pod之间平衡流量,因为kube代理作为守护进程集运行。Kube router也一样吗?

共有1个答案

魏鸿禧
2023-03-14

Kube-proxy的IPVS模式在放置在不同节点中的Pod之间对流量进行负载平衡。

您可以参考这篇博文深入了解这一问题:基于集群负载平衡的IPV深入研究

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

  • 在此页面上,docker文档展示了一个由4个节点和8个web服务组成的集群示例。部署策略均匀地部署容器:我假设每个节点2个。还添加了负载平衡器服务。 如果我理解正确,您将有3个节点和2个Web应用容器,第四个节点有2个Web应用容器和一个负载均衡器容器。 在同一节点上进行负载平衡是否有真正的性能提升? 具有负载平衡器的节点在忙时是否会对自己进行负载平衡?

  • 我有一个名为“backend-app”的应用程序部署在几个不同节点上的pod中运行。我还有一个服务,它将“backend-app”公开为其他集群内部pod作为我的“前端应用程序”pod访问。 如果我使用 DNS 从不同的应用部署(称为“前端应用”)连接到“后端应用”,是否会将请求负载均衡到每个节点上的每个“后端应用”Pod? 听起来NodePort服务只会连接到一个节点,而不会对我对其他节点的请求

  • 本文向大家介绍Elixir连接不同机器上的节点,包括了Elixir连接不同机器上的节点的使用技巧和注意事项,需要的朋友参考一下 例子 在一个IP地址上启动命名进程: 在另一个IP地址上启动另一个命名进程:            

  • 我在kafka-连接中创建了两个kafka连接器,它们使用相同的连接器类,但它们听的主题不同。 当我在节点上启动进程时,两个连接器最终都会在此进程上创建任务。但是,我希望一个节点只处理一个连接器/主题。如何将主题/连接器限制为单个节点?我在connect-distributed.properties中没有看到任何配置,其中进程可以指定使用哪个连接器。 谢谢。

  • 我之前在OpenShift Origin 3.9和Online上尝试过。我在OpenShift上部署了一个简单的Hello world php应用程序。它有一个服务和一个路由。 当我调用路由时,我得到了Hello world和Pod IP的预期输出。让我们称这个pod ip为1.1.1.1 现在我部署了相同的应用程序,在相同的服务下使用相同的标签进行小文本更改。让我们将此pod ip称为2.2.2