0

我在同一个命名空间中有两个容器。服务 A 和服务 B。

就我而言,我想从 Service-A 与 Service-B 交谈。通过 RestTemplate,我正在拨打电话进行如下沟通。

public Response fetchData(Request request) {
   return restTemplate.postForEntity("http://Service-B:8080/api", request, Response.class).getBody();
}

它在我的较低区域运行良好,因为我只有一个用于 Service-B 的 POD。我的疑问是,如果我在生产中有更多的 PODS(比如说三个 POD)来处理负载。如果我使用服务 url 而不是路由器 url,PODS 之间会发生负载平衡吗?

4

1 回答 1

1

如果使用 kubernetes 服务,那么 kube-proxy 组件通过 linux iptables 在 L4 层提供负载均衡。

以 IPVS 模式运行的 Kube 代理提供最少的连接、局部性、加权、基于持久性的负载平衡

在用户空间或 iptables 模式下运行的 Kube 代理提供循环负载均衡

但是如果你需要在 L7 层进行高级负载平衡,那么你需要使用入口或路由器。

https://kubernetes.io/docs/concepts/services-networking/#the-gory-details-of-virtual-ips

于 2020-06-14T05:25:03.600 回答