|--> service1:8081 --> pod1-a, pod1-b, pod1-c
UI -> load balancer -> ingress (mydomain.com)
|--> service2:8082 --> pod2-a, pod2-b, pod2-c
因此从service1
开始,我可以直接用service2
调用http://service2:8082
,但是由于这不是通过UI->负载均衡器完成的,如何实现负载均衡?我是否应该不直接调用service2
,而是通过mydomain.com/service2
调用它,所以它必须经过流程?
答案 0 :(得分:1)
如果您绕过入口,即直接从http://service2:8082
调用service1
,Kubernetes将基于默认的Proxy-mode: iptables
选择一个随机后端。
如果您使用的是ipvs之类的东西,则可以进行更多调整。例如,设置轮询。
如果您只想循环使用,也可以使用旧的Proxy-mode: userspace
。
所有这些选项都可以使用kube-proxy上的-proxy-mode ProxyMode
标志进行配置。
答案 1 :(得分:1)
从另一个服务调用服务将在该节点上命中iptable路由,并选择服务端点以将流量路由至。这样会更快。
如果通过mydomain.com/service2调用它,则该流将通过其他L7入口,并且速度会相对较慢。