Kubernetes балансировка нагрузки и прокси - PullRequest
0 голосов
/ 08 мая 2018

Я новичок в Kubernetes, и у меня есть несколько вопросов, касающихся прокси-запросов REST API и распределения нагрузки.

У меня есть один главный и два рабочих узла с некоторыми из служб на одном рабочем узле и несколько на другом рабочем узле.

Вначале у меня был только один рабочий узел, и я обращался к своим модулям, используя IP-адрес рабочего узла и службу NodePort. После добавления другого рабочего узла в кластер, Kubernetes «перераспределил» mu-модули на оба рабочих узла.

Теперь я снова могу получить доступ к своим модулям, используя как IP-адреса рабочих узлов, так и сервисные NodePorts. Это меня немного смущает: как мне получить доступ к API REST моего pod для модулей, которые не находятся на рабочем узле, какой IP-адрес используется?

Кроме того, поскольку у меня сейчас 2 рабочих узла, как правильно распределить нагрузку на оба рабочих узла? Я знаю, что могу установить serviceType в LoadBalancer для Service, но этого достаточно?

Спасибо за ваши ответы!

1 Ответ

0 голосов
/ 08 мая 2018

как мне получить доступ к API REST моего модуля для модулей, которые не находятся на рабочем узле, какой IP-адрес используется?

  • Лучше подумать о том, чтобы представить свои сервисы внешнему миру, а не модулям, и, следовательно, избегать рассмотрения IP-адресов узлов, на которых работают модули. Ответ на этот вопрос зависит от вашей настройки. Многие конфигурации возможны в зависимости от фактической сложности и требований к скорости / доступности, но базовая настройка сводится к:
    • Если вы работаете в какой-либо поддерживаемой облачной среде, то при настройке входа с балансировкой нагрузки он будет открыт для внешнего мира без особых хлопот.
    • Если, однако, вы работаете на голом железе, то вам нужно сделать свой собственный вход (достаточно простого прокси-модуля nginx или apache) и указать восходящий поток на имя вашего сервиса (или fqdn в случае другого пространства имен), таким образом предоставление всех модулей в службе независимо от того, на каких узлах они работают, во внешнем мире и передача балансировки нагрузки службе kubernetes.

как правильно распределить нагрузку по обоим рабочим узлам?

  • Это немного более сложная тема, поскольку при равномерном распределении ваших модулей по узлам вы можете обойтись внешним балансировщиком нагрузки, который не учитывает распределение модулей. Для нас предоставление балансировки нагрузки службе kubernetes оказалось более точным, поскольку чаще всего на одном узле можно запускать два модуля (если количество модулей больше, чем количество узлов), и в этом случае внешний балансировщик нагрузки не будет сможет сбалансировать равномерно и уровень обслуживания kubernetes будет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...