#docker #docker-swarm #swarm #docker-swarm-mode #docker-stack
#docker #docker-swarm #swarm #docker-swarm-mode #docker-stack
Вопрос:
В режиме docker swarm у меня есть
Рабочий узел 1, на котором запущены Service1 и Service2 Рабочий узел 2, на котором запущены Service1 и Service2
Службе 1 на рабочем узле 1 необходимо вызвать API для службы 2
Когда Service1 вызывает api, каждый раз его нагрузка балансируется между Service2 из node1 и node2 .
Как я могу заставить docker всегда обращаться к службе 2 узла 1, пока она не выйдет из строя?
Ответ №1:
Это невозможно.
Docker swarm не использует какую-либо логику обнаружения службы dns с учетом местоположения. Служба vip для любой данной службы будет балансировать нагрузку циклическим способом по всем задачам в службе, независимо от того, где они расположены.
Существует открытый запрос функции, запрашивающий эту функциональность: https://github.com/moby/moby/issues/32854