Рейтинг:0

Максимальная пропускная способность между модулями Kubernetes с привязкой LACP

флаг cn

В настоящее время у нас есть кластер kubernetes (использующий calico), в котором все рабочие узлы соединены вместе с помощью lacp-связей (2 канала по 10 ГБ с режимом 4 LACP — 802.3ad).

Однако максимальная пропускная способность, которую нам удается получить между двумя модулями, составляет 10 ГБ/с. Согласно с некоторая документация, мы должны быть в состоянии достичь 20 ГБ/с. Согласно с википедия, это кажется нормальным поведением:

Это выбирает одно и то же ведомое устройство NIC для каждого MAC-адреса назначения, IP-адреса или комбинации IP-адреса и порта соответственно.

Это приводит к пониманию того, что для данной комбинации целевого IP + порта используется только одна ссылка.

Мой вопрос заключается в следующем: сможем ли мы достичь пропускной способности 20 ГБ/с между модулями? Или это нормально, что мы застряли на 10 ГБ/с?

Рейтинг:3
флаг za

Это не относится к Kubernetes, это нормальное поведение LACP. Он не обеспечивает истинного увеличения пропускной способности, скорее его действие лучше описать как «детерминированное распределение связи"(не отдельные пакеты), и отказоустойчивость.

Он извлекает из пакетов некоторые поля заголовка (определяемые режимом) и хеширует их. Например, хэш-режим «уровень 3+4» принимает информацию уровней 3 и 4 OSI, т.е. IP и порт. Хэш напрямую определяет, из какой ветви LACP будет выходить этот пакет. Какой бы режим хеширования вы ни выбрали, все пакеты, принадлежащие одному и тому же соединению, будут хешироваться в одну и ту же ногу, поэтому любое отдельное соединение не может превышать пропускную способность одной ветви.

Когда появляется другое соединение, если вам повезет, оно может использовать другую ветвь LACP. В этом случае два соединения будут распределены между ветвями, и у вас будет удвоенная общая пропускная способность между хостами. Это не гарантируется: может случиться так, что они оба будут проходить через одну и ту же ногу. Но когда у вас много подключений (как это обычно бывает, когда мы рассматриваем конвергентные кластеры), в среднем будут использоваться обе ветви.

Я могу сравнить это с Kubernetes, если хотите.Если вы добавите узлы (и соответствующим образом масштабируете развертывание), вы можете увеличить количество клиентов, которые могут обслуживаться кластером. Но вы не можете улучшить задержку ответа (время обслуживания) конкретного запроса с помощью этого масштабирования (если кластер не был перегружен).

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

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