Как балансировка нагрузки / VIP работает с оверлейными сетями?

Я пытаюсь понять, как встроенный Docker балансировки нагрузки / VIP работает с оверлейными сетями. Чтобы лучше объяснить, как я это понимаю, я составил диаграмму. Я надеюсь, что кто-то может подтвердить или отклонить мое понимание.

Допустим, у меня в Docker Swarm работают две службы: webserver а также api, Обе эти две службы были масштабированы до двух экземпляров. Эти экземпляры выполняются на узлах A и B.

  1. Кто-то в мире делает запрос, который так или иначе поражает УЗЕЛ А.
  2. iptables на УЗЕ А будет DNAT запрос к ingress-sbox на УЗЕЛ A.
  3. ingress-sbox (давайте просто рассмотрим это как черный ящик) решает, что запрос должен идти к веб-серверу на узле B.
  4. ingress-sbox отправляет запрос по наложенному сетевому мосту "api", и запрос направляется через vxlan туннель к наложенному сетевому мосту "api" на узле B.
  5. Контейнер веб-сервера на узле B получает запрос через оверлейный сетевой мост "api".

Это правильное понимание того, как входящие запросы будут проходить через оверлейную сеть?

... и дополнительный вопрос; что происходит, когда запрос поступает от webserver в api через балансировщик нагрузки ( ingress-sbox ). Будут ли запросы всегда сбалансированы по нагрузке ingress-sbox на том же хосте, откуда исходит запрос? Если это так, я предполагаю, что это означает, что запрос к VIP службы всегда направляется на ingress-sbox который работает на том же узле, что и запрос?

0 ответов

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