【问题标题】:Load Balancing an application in Kubernetes负载平衡 Kubernetes 中的应用程序
【发布时间】:2019-03-21 13:43:59
【问题描述】:

假设我有两个部署,其中包含两个后端应用程序实例。 (而不是一个部署有多个副本,因为它们需要进行不同的配置)。

你们如何处理两者之间的负载平衡?经典的方法是使用两个后端设置 HAProxy。这在 Kubernetes 的环境中听起来正确吗?有没有更好的方法在单个 Ingress Controller 资源上公开两个部署?

【问题讨论】:

    标签: kubernetes load-balancing


    【解决方案1】:

    您可以定义由labels selectors 确定的Service。对服务的请求将分布在各个部署中(与入口相同)

    例子:

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: my-deployments
    spec:
      ports:
      - port: 80
      selector:
        app: my-deployments
    

    【讨论】:

    • 在后端之间的循环轮换意义上服务负载平衡吗?
    • 取决于入口实现,但通常是的
    【解决方案2】:

    理想情况下,您应该运行一个具有多个副本的部署。定义选择后端 pod 的服务对象。服务对象以循环方式自动对后端 pod 进行负载平衡。

    如果您想对多个部署对象进行负载平衡,请分别为部署服务 A 和服务 B 定义一项服务。您应该运行 ha-proxy 负载平衡 ServiceA 和 serviceB 之间的流量。

    我们建议您选择第一种方法,除非您有充分的理由考虑第二种方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-25
      • 2023-04-02
      • 2022-06-22
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      相关资源
      最近更新 更多