Оптимизировали живую миграцию и добавили дашборд для мониторинга в Deckhouse Virtualization Platform

Мы давно не делились новостями разработки Deckhouse Virtualization Platform (DVP) — нашей платформы, которая позволяет виртуальным машинам и контейнерам работать в одном окружении. 

Недавно мы доработали живую миграцию виртуальных машин между гипервизорами: теперь она выполняется без прерывания сетевых соединений. А ещё пользователям стал доступен дашборд в Grafana, который позволяет следить за потреблением CPU, памяти и других параметров.

Живая миграция без прерывания доступа

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

Deckhouse Virtualization Platform основана на Kubernetes, изначально заточенном под stateless-контейнеры, которые можно без проблем перезапускать на узлах кластера без потери данных. Виртуальные машины же работают с дисками и имеют более строгие требования к задержкам при миграции, которым необходимо соответствовать для обеспечения целостности данных. 

Для управления сетевыми взаимодействиями в кластере мы используем Cilium. Он по умолчанию ожидает, что у каждой сущности (например, пода или ВМ) в кластере свой уникальный IP-адрес. Однако при миграции на целевом узле создаётся копия виртуальной машины, на которую должна будет переехать оперативная память с работающей ВМ. При этом у копии тот же IP-адрес, что и у исходной ВМ. В этот момент Cilium «теряется» и не понимает, куда отправлять трафик. 

Мы решили эту проблему:

Миграция происходит без единого разрыва бесшовно. Пользователи не заметят перемещения виртуальной машины, даже если в этот момент происходит активный обмен трафиком.

Сетевые соединения не рвутся, а продолжают корректно работать при миграции.

Для тестирования изменений мы использовали iPerf, который измеряет пропускную способность сети в реальном времени. Запускали его на виртуальных машинах и проверяли поведение соединений в разных сценариях: между узлами, между ВМ, через NodePort и LoadBalancer. Теперь даже при активном сетевом трафике миграция проходит без прерывания доступа.

Дашборд для мониторинга в Grafana

Виртуальные машины в DVP запускаются внутри подов Kubernetes. Раньше работа с метриками виртуальных машин была не такой удобной: их можно было отслеживать только через поды:

Под — это сервисная сущность, а пользователи виртуализации работают с ВМ.

При миграции у одной ВМ временно существовало два пода, что затрудняло работу с метриками.

Теперь в Grafana появился отдельный дашборд мониторинга виртуальных машин. Он позволяет отслеживать:

использование CPU и памяти;

состояние запущенных ВМ;

общую нагрузку на инфраструктуру виртуализации.

В будущем планируем добавить на дашборд метрики по нагрузке на отдельные узлы и по проектам.

Больше скриншотов дашбордаОранжевая часть на графике — это время миграции

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии