Openshift - вызов другого API в том же пространстве имен

У меня есть два контейнера в одном пространстве имен. Сервис-А и Сервис-Б.

И в моем случае я хочу поговорить со службой B из службы A. Через RestTemplate я делаю почтовый звонок для общения, как показано ниже.

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

Он отлично работает в моем нижнем регионе, так как у меня только один POD для Service-B. Я сомневаюсь, что у меня есть больше POD (скажем, три POD) в производстве для обработки нагрузки. Будет ли происходить балансировка нагрузки между PODS, если я использую URL-адрес службы вместо URL-адреса маршрутизатора?

1 ответ

Решение

При использовании сервиса kubernetes компонент kube-proxy обеспечивает балансировку нагрузки на уровне L4 через linux iptables.

Прокси-сервер Kube, работающий в режиме IPVS, обеспечивает наименьшее количество соединений, локальность, взвешенную и постоянную балансировку нагрузки.

Прокси-сервер Kube, работающий в режиме пользовательского пространства или iptables, обеспечивает циклическую балансировку нагрузки.

Но если вам нужна расширенная балансировка нагрузки на уровне L7, вам нужно использовать входящий трафик или маршрутизатор.

https://kubernetes.io/docs/concepts/services-networking/

Другие вопросы по тегам