Рейтинг:0

как распределяется нагрузка службы openshift между модулями?

флаг pl

Это довольно простой вопрос, поэтому я полагаю, что упускаю что-то очевидное. Использует ли служба openshift циклический перебор для балансировки нагрузки между модулями? Или он перенаправляет запросы в модуль с наибольшим количеством доступных ресурсов? Или это совершенно случайно?

Моя конфигурация службы выглядит так:

вид: обслуживание
метаданные:
  имя: темп
  этикетки:
    приложение: темп
спецификация:
  порт:
    targetPort: временный порт
  к:
    вид: сервис
    имя: темп
Рейтинг:1
флаг cn

Публикация этого вики-ответа сообщества, чтобы указать на официальную документацию Openshift и Kubernetes (в дополнительных ресурсах), которая должна ответить на опубликованный вопрос.

Не стесняйтесь редактировать и расширять.

Согласно документации OpenShift (v3.11):

Услуги

Служба Kubernetes служит внутренним балансировщиком нагрузки. Он идентифицирует набор реплицированных модулей, чтобы прокси-соединения, которые он получает к ним. Поддерживающие модули могут быть добавлены к службе или удалены из нее произвольно, в то время как служба остается постоянно доступной, позволяя всему, что зависит от службы, ссылаться на нее по согласованному адресу. IP-адреса сервисного кластера по умолчанию взяты из внутренней сети OpenShift Container Platform и используются для разрешения модулям доступа друг к другу.


Режим сервисного прокси

OpenShift Container Platform имеет две разные реализации инфраструктуры сервисной маршрутизации. Реализация по умолчанию полностью основана на iptables и использует вероятностные правила перезаписи iptables для распределения входящих служебных подключений между модулями конечных точек. Старая реализация использует процесс пользовательского пространства для приема входящих подключений, а затем прокси-трафика между клиентом и одним из модулей конечных точек.

Реализация на основе iptables намного эффективнее, но требует, чтобы все конечные точки всегда могли принимать соединения; реализация пользовательского пространства медленнее, но может попробовать несколько конечных точек по очереди, пока не найдет ту, которая работает. Если у вас есть хорошие проверки готовности (или в целом надежные узлы и модули), то прокси службы на основе iptables — лучший выбор. В противном случае вы можете включить прокси-сервер на основе пользовательского пространства при установке или после развертывания кластера, отредактировав файл конфигурации узла.

Отвечая на вопрос, как балансируется трафик при переходе на Оказание услуг:

Реализация по умолчанию полностью основана на iptables, и использует вероятностные правила перезаписи iptables для распределения входящих служебных подключений между модулями конечных точек.


Я думаю, вы также можете взглянуть на дополнительные ресурсы:

флаг pl
Спасибо за Ваш ответ! Не уверен, что означает «вероятностные правила перезаписи iptables» хотя, и эта [ссылка] (https://scalingo.com/blog/iptables) указывает как метод «Случайная балансировка», так и «Круговой перебор», мне нужно знать, какой метод по умолчанию используется openshift
Dawid Kruk avatar
флаг cn
Насколько я знаю, это будет работать со «Случайной балансировкой» (с вероятностью). Я думаю, вы можете проверить правила iptables на своих узлах для получения дополнительной информации. Это руководство должно вам помочь: https://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.