Оптимизировали живую миграцию и добавили дашборд для мониторинга в Deckhouse Virtualization Platform
Мы давно не делились новостями разработки Deckhouse Virtualization Platform (DVP) — нашей платформы, которая позволяет виртуальным машинам и контейнерам работать в одном окружении.
Недавно мы доработали живую миграцию виртуальных машин между гипервизорами: теперь она выполняется без прерывания сетевых соединений. А ещё пользователям стал доступен дашборд в Grafana, который позволяет следить за потреблением CPU, памяти и других параметров.
Живая миграция виртуальных машин — это механизм, который позволяет переносить запущенную ВМ с одного гипервизора на другой без прерывания её работы. Это важно, например, когда физические узлы кластера необходимо перевести в режим обслуживания или перезагрузить.
Deckhouse Virtualization Platform основана на Kubernetes, изначально заточенном под stateless-контейнеры, которые можно без проблем перезапускать на узлах кластера без потери данных. Виртуальные машины же работают с дисками и имеют более строгие требования к задержкам при миграции, которым необходимо соответствовать для обеспечения целостности данных.
Для управления сетевыми взаимодействиями в кластере мы используем Cilium. Он по умолчанию ожидает, что у каждой сущности (например, пода или ВМ) в кластере свой уникальный IP-адрес. Однако при миграции на целевом узле создаётся копия виртуальной машины, на которую должна будет переехать оперативная память с работающей ВМ. При этом у копии тот же IP-адрес, что и у исходной ВМ. В этот момент Cilium «теряется» и не понимает, куда отправлять трафик.
Мы решили эту проблему:
Миграция происходит без единого разрыва бесшовно. Пользователи не заметят перемещения виртуальной машины, даже если в этот момент происходит активный обмен трафиком.
Сетевые соединения не рвутся, а продолжают корректно
Читать на habr.com