Проверка балансировки нагрузки службы контейнеров Azure

Я использую службу контейнеров Azure с оркестратором Kubernetes, и у меня развернуто приложение в кластере с 3 узлами. Имеет 5 реплик. Как я могу проверить балансировку нагрузки в действии, например Я хочу видеть, что каждый раз, когда я попадаю на внешний IP-адрес, меня перенаправляют, возможно, на другой узел. Спасибо.


person Rajeev Sikka    schedule 11.09.2017    source источник
comment
Самый простой способ проверить pod, куда балансировщик нагрузки направляет трафик, - это распечатать имя хоста в вашем приложении, которое даст вам имя модуля (а не имя узла). Идея балансировщика нагрузки заключается не в том, чтобы заботиться о конкретных узлах, а о модулях.   -  person radu-matei    schedule 14.09.2017


Ответы (1)


Самое простое решение - подключиться (например, по ssh) к 3 узлам и запустить там WinDump. Чтобы все работало правильно, вы сможете увидеть, что происходит на каждом узле.

Также здесь представлена ​​документация Microsoft по тестированию балансировщика нагрузки: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-load-balancer#test-load-balancer

Балансировщик нагрузки по умолчанию, доступный для ваших ролей Windows Azure Web и Worker, является программным балансировщиком нагрузки, и его не так много настраивать, однако они работают в настройке циклического перебора. Если вы хотите проверить это поведение, вам нужно сделать следующее:

  • Создайте два (или более) экземпляра вашей службы с включенным доступом RDP, чтобы вы могли использовать RDP для обоих экземпляров.
  • RDP к вашим обоим экземплярам и запускать в нем NETMON или любое решение для мониторинга сети.
  • Теперь получите доступ к веб-приложению Windows Azure со своего рабочего стола. Вы должны понимать, что когда сетевое соединение выполняется с вашего рабочего стола, соединение все еще активно в зависимости от сетевых настроек (по умолчанию 60 секунд), поэтому вам нужно подождать, пока для доступа не пройдет тайм-аут по умолчанию. ваше веб-приложение Windows Azure снова.
  • Когда вы снова получите доступ к своему веб-приложению Windows Azure, вы можете проверить, сколько секунд запрос перешел к следующему экземпляру. Обязательно передайте тайм-аут соединения, иначе ваш запрос будет обрабатываться тем же экземпляром.

Примечание. Если вы не хотите использовать RDP, вы также можете создать тестовую страницу ASP.NET, чтобы написать специальный код на основе вашего конкретного экземпляра, который покажет вам, что эта страница относится к определенному экземпляру. Лучше всего прочитать идентификатор экземпляра, как показано ниже:

int instanceID = RoleEnvironment.CurrentRoleInstance.Id;

Если вы хотите иметь больший контроль над балансировкой нагрузки Windows Azure, я бы предложил использовать диспетчер трафика Windows Azure, который поможет вам направлять трафик на ваш сайт с помощью циклического перебора, сценария производительности или резервного копирования. Дополнительную информацию об использовании Traffis Manager можно найти в этой статье.

person Alex Bod    schedule 11.09.2017
comment
Спасибо за ответ. Мой вопрос был конкретно о w.r.t. балансировка нагрузки в среде службы контейнеров Azure. Кроме того, я заметил, что у мастера есть внутренний балансировщик нагрузки в дополнение к внешнему. Для чего это использовалось? - person Rajeev Sikka; 12.09.2017