【问题标题】:Kubernetes - Anyway to load balance requests to a service running on multiple nodes without an external load balancer?Kubernetes - 无论如何要在没有外部负载平衡器的情况下对在多个节点上运行的服务的请求进行负载平衡?
【发布时间】:2018-03-25 17:24:29
【问题描述】:

因此,在单个节点上运行和扩展运行多个 pod 的部署效果很好,并且当使用“nodePort”类型公开服务时,可以很好地平衡对虚拟的请求该单个节点上的多个 pod 之间的 IP。

我已经在我的集群中添加了一个额外的节点,当使用 nodePort 公开服务然后在 2 个节点上运行 pod 时,我当然需要专门指定每个主机以命中在不同节点上的不同 pod 中运行的端点.

我想向单个 VIP 发送请求并在不同节点之间进行负载平衡。我在我的家庭网络上运行这个小型集群,所以我的问题是,无论如何都可以向单个 VIP 发送请求,并在不使用外部负载平衡器的情况下跨节点/pod 进行负载平衡?例如,kubernetes 中是否有一些配置来处理这个问题?

我尝试使用服务类型负载平衡器(而不是节点端口),但这并没有跨节点进行负载平衡。

【问题讨论】:

    标签: kubernetes load-balancing


    【解决方案1】:

    看看Keepalived in Kubernetes

    这个想法是在外部公开每个服务的虚拟 IP (VIP) 地址 Kubernetes 集群。 keepalived 然后使用 VRRP 同步这个 本地网络中的“映射”。有 2 个或更多的 pod 实例 在集群中运行可以使用单个 VIP 提供 HA 地址。

    【讨论】:

    • 感谢您提供的信息,因此如果没有外部功能(例如 keepalived)就无法有效地处理此问题?
    • 很遗憾,kubernetes 本身暂时没有这个功能(v1.8)。 ServiceType LoadBalancer 仅在云提供商 (GCE/AWS/Azure) 中受支持,裸机不支持。
    猜你喜欢
    • 1970-01-01
    • 2018-10-14
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多