Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如果我有一个公共负载平衡器,那么直接服务到服务通信如何实现负载平衡?_Kubernetes_Kubernetes Ingress - Fatal编程技术网

Kubernetes 如果我有一个公共负载平衡器,那么直接服务到服务通信如何实现负载平衡?

Kubernetes 如果我有一个公共负载平衡器,那么直接服务到服务通信如何实现负载平衡?,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,所以从service1,我可以用http://service2:8082,但由于这不是通过UI->load balancer完成的,如何实现负载平衡?我是否应该不直接调用service2,而是通过mydomain.com/service2调用它,这样它就必须通过流?如果您通过入口,这意味着直接调用http://service2:8082从service1中,Kubernetes将根据默认值选择一个随机后端 如果您正在使用类似的工具,则可以对此进行更多的调整。例如,建立循环制 如果您只想循环,也可

所以从
service1
,我可以用
http://service2:8082
,但由于这不是通过UI->load balancer完成的,如何实现负载平衡?我是否应该不直接调用
service2
,而是通过
mydomain.com/service2
调用它,这样它就必须通过流?

如果您通过入口,这意味着直接调用
http://service2:8082
service1
中,Kubernetes将根据默认值选择一个随机后端

如果您正在使用类似的工具,则可以对此进行更多的调整。例如,建立循环制

如果您只想循环,也可以使用旧的


所有这些选项都可以使用kube代理上的标志进行配置。

从另一个服务调用服务将命中节点上的iptable路由,并选择要将流量路由到的服务端点。这会更快


如果您通过mydomain.com/service2调用它,那么流将通过额外的L7入口,速度将相对较慢。

因此,我似乎有一个选择。现在,如果我的入口上有其他功能,例如附加了某种身份验证,该怎么办?在这种情况下,我可能应该通过mydomain.com/service2调用它,这样身份验证就可以工作了,是吗?是的。可以使用nginx或Traefik之类的工具实现的附加功能。
                                  |--> service1:8081 --> pod1-a, pod1-b, pod1-c
   UI -> load balancer -> ingress (mydomain.com)
                                  |--> service2:8082 --> pod2-a, pod2-b, pod2-c