gpt4 book ai didi

kubernetes - Kubernetes中的两个负载平衡

转载 作者:行者123 更新时间:2023-12-02 11:43:33 25 4
gpt4 key购买 nike

正如我在下图中所看到的,我在kubernetes中发现我们有两个负载均衡器。其中之一在节点之间进行负载平衡,而其中之一在 pods 之间进行负载平衡。

如果同时使用它们,则我有两个负载均衡器

想象有一个用户想要连接到10.32.0.5,kubernetes将其请求发送到node1(10.0.0.1),然后将请求发送到(10.32.0.5)中的pod nod3(10.0.0.3),但是它没有用,因为最好的路由是直接发送请求nod3(10.0.0.3)

为什么NodePort不足以实现负载平衡?

为什么NodePort不是LoadBalancer?(它在不同节点中的Pod之间负载均衡,但为什么我们需要另一个负载均衡器?)

注意:我知道如果我使用NodePort且该节点出现故障,则会造成问题,但是我可以说可以为此使用keepalived。问题是

为什么我们需要在节点之间进行负载平衡? keepalived将所有请求吸引到一个IP。
为什么我们有两个负载均衡器? enter image description here

最佳答案

您是否有两个负载均衡器取决于您的设置。

在您的示例中,您具有3个Nginx容器和1个Nginx服务来访问容器。该服务构建了一个抽象层,因此您不必知道有多少个Pod以及它们具有什么IP地址。您只需要与服务联系,它将负载平衡到其中一个Pod(docs)。

现在取决于您的设置如何访问该服务:

  • ,您可能想通过NodePort发布服务。然后,您可以直接访问节点上的服务。
  • ,您也可以通过LoadBalancer发布。这为您提供了另一种抽象级别,并且调用者无需了解集群的实际设置。

  • 有关详细信息,请参见 docs

    关于kubernetes - Kubernetes中的两个负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55549539/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com