首页 文章

Kubernetes集群内部负载 balancer

提问于
浏览
0

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

2 回答

  • 2

    不,声明不正确 . 负载均衡应该跨节点(VM) . 这demo演示了它 . 我在gce上有3个节点的k8s集群上运行了这个演示 . 它首先创建一个具有5个后端pod的服务,然后将其ssh到一个gce节点并访问service.ClusterIP,并将流量负载 balancer 到所有5个pod . 我看到你有另一个问题"not unique ip per pod"打开,似乎你没有正确设置你的集群网络,这可能会导致你观察到的 .

  • 0

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

相关问题