【问题标题】:Are Kubernetes LoadBalancer Services Highly Available?Kubernetes LoadBalancer 服务是否高度可用?
【发布时间】:2017-08-16 21:11:07
【问题描述】:

我想在外部公开我的 Kubernetes 部署。我选择创建一个类型为“LoadBalancer”的 Kubernetes“服务”。

我可以假设这个负载均衡器在我的集群之外进行配置吗?如果是这样,我的容器/云提供商(在本例中为 Azure)是否有责任为我的 Kubernetes 集群配置 LB?

这会引入单点故障吗?当 LB 失败时会发生什么? Azure/Amazon/Google 是否以另一个“热”LB 正在等待加入的方式配置 LB?或者当 Azure 为我提供另一个 LB 时,我的应用程序是否可能暂时不可用?

Kubernetes 和 Kubernetes 托管服务之间似乎存在灰色地带。

【问题讨论】:

    标签: azure kubernetes load-balancing


    【解决方案1】:

    Azure/Amazon/Google 是否以另一种“热”的方式配置 LB LB正在等待加入?

    目前,Azure 确实支持此功能。 Azure 仅支持一个负载均衡器用于您的可用性集。

    在 Azure 中,无法为一个可用性集部署两个 LB。据我所知,Azure 负载均衡器 SLA 与 Azure Vnet 相同,只有当此位置关闭时,LB 才会关闭。

    顺便说一句,Azure 支持在一个 LB 中创建多个 Vm 以提供高 SLA,所以我猜 LB 不会down。

    但是我没有找到任何关于Azure负载均衡器SLA的官方文章。

    这会引入单点故障吗?

    据我所知,我认为这不是单点故障。

    【讨论】:

      【解决方案2】:

      对于 Google Container Engine,外部云负载平衡器由 Google 创建和管理。

      在这里,您可以看到我为已删除的集群设置的负载均衡器示例。

      当我添加或删除节点池时,云负载均衡器将自动更新配置。请注意,这与入口控制器不同。您可以在此处阅读更多信息:https://cloud.google.com/container-engine/docs/tutorials/http-balancerhttps://cloud.google.com/load-balancing/

      【讨论】:

      • 我假设您正在向我展示 Google 的云负载均衡器是如何实现的,在这种情况下,通过创建 3 个 LB 实例。因此,如果 1 个 LB 实例出现故障,其他 2 个实例将无缝处理请求。对吗?
      【解决方案3】:

      我问过我们的微软代表这个问题:

      这似乎是一个愚蠢的问题,但如果我提供 Azure LB (第 4 层)或网关(第 7 层),我可以假设 LB 是容错的吗? 这意味着,如果运行该实际 LB 的底层硬件死掉,一些 其他由 Microsoft 控制的 VM 将介入并继续处理 交通。我可以这样假设吗?我找不到任何 有关 Azure 如何处理此问题的详细信息。这很重要,因为我的集群 如果 Azure LB,Kubernetes 节点的数量不应变为不可用 废话。我不想要单点故障。想法?

      我收到以下回复:

      是的。

      虽然这并没有透露任何实现细节,但它确实证实了 LB 的高可用性。

      【讨论】:

      • 是的,LB 是高可用的。
      • 感谢您的确认。你原来的答案或多或少说了同样的话,所以我给了你信用。
      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 2019-01-30
      • 2019-08-07
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 2019-06-26
      • 2021-03-16
      相关资源
      最近更新 更多