【问题标题】:Kubernetes cluster internal load balancingKubernetes集群内部负载均衡
【发布时间】:2016-07-29 07:15:56
【问题描述】:

尝试使用 Kubernetes (v1.3.2) 我正在检查集群内负载平衡调用的能力(3 个本地 CentOS 7 虚拟机)。
如果我正确理解了http://kubernetes.io/docs/user-guide/services/“虚拟 IP 和服务代理”段落中的文档,并且正如我在测试中看到的,负载平衡是每个节点 (VM)。即,如果我有一个由 3 个虚拟机组成的集群并部署了一个包含 6 个 pod(每个虚拟机 2 个)的服务,那么负载平衡只会在同一虚拟机的 pod 之间进行,这有点令人失望。
至少这是我在测试中看到的:使用服务的 ClusterIP 从集群内调用服务,将在驻留在发送调用的同一 VM 中的 2 个 Pod 之间进行负载平衡。 (顺便说一句,从集群外调用服务(使用 NodePort)时也是如此,然后请求将在驻留在作为请求目标 IP 地址的 VM 中的 2 个 pod 之间进行负载平衡。
以上正确吗?
如果是,如何在所有 6 个副本之间进行内部集群调用负载平衡? (我必须为此使用像 nginx 这样的负载均衡器吗?)

【问题讨论】:

    标签: load-balancing kubernetes


    【解决方案1】:

    不,该陈述不正确。负载平衡应该跨节点 (VM)。这个demo 演示了它。我在 gce 上有 3 个节点的 k8s 集群上运行了这个演示。它首先创建一个有 5 个后端 pod 的服务,然后它 ssh 到一个 gce 节点并访问该服务.ClusterIP,并将流量负载均衡到所有 5 个 pod。 我看到您还有另一个问题“不是每个 pod 的唯一 ip”打开,看来您没有正确设置集群网络,这可能导致您观察到的情况。

    【讨论】:

    • 谢谢。我也想过这个方向。我会检查你在其他案例评论中提到的内容
    【解决方案2】:

    在您的情况下,每个节点都将运行服务的副本 - 并在节点之间进行负载平衡。

    【讨论】:

      猜你喜欢
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多