Какова роль внешнего балансировщика нагрузки, если мы используем входной контроллер nginx? - PullRequest
0 голосов
/ 15 апреля 2020

Я развернул свое приложение в кластере из 3 узлов. Теперь, чтобы сделать это приложение доступным извне, я следовал этой документации и встроенному nginx входному контроллеру.

Теперь, когда я проверял свою консоль Google Load Balancer, я вижу новый балансировщик нагрузки создано и все работает отлично. Но странно то, что я обнаружил, что два моих узла не работают, и только один узел принимает соединение. Затем я нашел это обсуждение и понял, что единственный узел, на котором запущен nginx модуль входного контроллера, будет работать для балансировки нагрузки.

Теперь мне трудно понять этот поток данных и использование Внешний балансировщик нагрузки здесь. Мы используем внешний балансировщик нагрузки для балансировки нагрузки на несколько машин. Но при такой конфигурации внешний балансировщик нагрузки будет всегда пересылать трафик c на узел с модулем входного контроллера nginx. Если это правильно, какова роль внешнего баланса нагрузки здесь?

1 Ответ

1 голос
/ 15 апреля 2020

Вы можете иметь более одной реплики входных контроллеров Nginx, развернутых на нескольких узлах kubernetes, с целью обеспечения высокой доступности, чтобы уменьшить вероятность простоев в случае недоступности одного узла kubernetes. LoadBalancer отправит запрос одному из этих nginx входных контроллеров. Из nginx модулей входного контроллера он будет перенаправлен на любой из внутренних модулей. Роль внешнего балансировщика нагрузки состоит в том, чтобы выставить входные контроллеры nginx за пределы кластера. Поскольку NodePort не рекомендуется для использования в производственной среде, а ClusterIP нельзя использовать, открывать модули за пределами кластера, поэтому LoadBalancer является жизнеспособным вариантом.

...