Балансировка нагрузки на том же сервере - PullRequest
0 голосов
/ 27 января 2019

Я исследовал Kubernetes и фактически увидел, что они выполняют балансировку нагрузки на одном и том же узле.Так что, если я не ошибаюсь, один узел означает одну серверную машину, так что будет хорошо, если вы выполняете балансировку нагрузки на той же серверной машине.Потому что он будет использовать тот же процессор и оперативную память для обработки запросов.Сначала я подумал, что распределение нагрузки будет происходить на отдельной машине для совместного использования ресурсов процессора и оперативной памяти.Так что я хочу знать смысл балансировки нагрузки на том же сервере.

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Полагаю, вы имеете в виду, как Службы выполняют автоматическое распределение нагрузки.Представьте, что у вас есть Развертывание с двумя репликами на одном узле и Службой.Трафик на модули передается через Службу, поэтому, если бы это не было балансировкой нагрузки, все было бы передано только одному модулю, а другой модуль не получил бы ничего.Затем вы можете справиться с большей нагрузкой, распределяя равномерно, и при этом быть уверенным, что трафик будет обслуживаться в случае смерти одного стручка.

Вы также можете балансировать трафик, поступающий в кластер извне, чтобы точка входа в кластер не всегда была одним и тем же узлом.Но это другой уровень распределения нагрузки.Даже с одним узлом вам все равно может потребоваться распределение нагрузки для служб в кластере.См. Уточнение входного балансировщика нагрузки по балансировке нагрузки внешней точки входа.

0 голосов
/ 27 января 2019

Если вы можете сделать это на одном узле, это не значит, что вы должны это делать, особенно в производственной среде.

  • в производственном кластере будет минимум 3 или 5 узлов, мин. * 1004.*
  • kubernetes будет распределять реплики по узлам кластера в рабочей нагрузке узла балансировки, модули будут работать на разных узлах
  • вы также можете настроить, на какие узлы приземляться ваши модули
  • использовать расширенное планирование,pod affinity и anti-affinity
  • вы также можете подключить свой собственный график, который не позволит размещать модули реплики одного и того же приложения на одном и том же узле
  • , после чего вы определяете службу для балансировки нагрузки черезpods на разных узлах
  • Kube Proxy сделает все остальное

вот полезное чтение:

https://itnext.io/keep-you-kubernetes-cluster-balanced-the-secret-to-high-availability-17edf60d9cb7

ИтакКак правило, вам нужно выбрать уровень доступности, который вам удобен.Например, если вы используете три узла в трех отдельных зонах доступности, вы можете выбрать отказоустойчивость одного узла.Потеря двух узлов может привести к остановке приложения, но вероятность потери двух центров обработки данных в отдельных зонах доступности невелика.

Суть в том, что универсального подхода не существует;только вы можете знать, что работает для вашего бизнеса, и уровень риска, который вы считаете приемлемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...