15 мая 2025 мы выпустили релиз версии 0.18 Deckhouse Virtualization Platform (DVP) — частного облака с простым и понятным интерфейсом для декларативного создания и работы с виртуальными машинами (ВМ) и их ресурсами. Поэтому решили рассказать про самые важные изменения, которые произошли в продукте с начала года.

С начала 2025 года мы сделали более 72 изменений и добавили более 32 новых фич и улучшений, которые выпустили в рамках четырёх обновлений DVP. Из общих изменений:
-
Разделили сборки платформы на CE (Community Edition, бесплатная редакция) и EE (Enterprise Edition, платная редакция) — теперь они отличаются по функциям. Так, CE предназначена для базовых сценариев и включает основные возможности управления ВМ, сетями и хранилищами, а EE ориентирована на корпоративное использование и дополнительно содержит расширенные функции:
поддержку российских ОС;
развёртывание в закрытом контуре;
поддержку аппаратных СХД;
техподдержку и другое.
Подробнее различия редакций можно изучить в документации.
Обновили версии пакетов для core-компонентов для улучшения производительности, функционала и безопасности.
В платформу виртуализации добавлена поддержка Kubernetes 1.31. Это расширяет возможности интеграции платформы с последними функциями и улучшениями Kubernetes, а также позволяет использовать новые API, улучшенные механизмы admission control и обновлённые политики безопасности.
Для эффективности и удобства использования значительно доработали документацию. Теперь она содержит более чёткое и структурированное описание изменений, конфигурации, требований и ограничений платформы виртуализации.
Операции с виртуальными машинами
Снизили время простоя ВМ при живой миграции до десятых долей секунды за счёт оптимизации взаимодействия с Cilium
Проблема заключалась в том, что при миграции на целевом узле создаётся копия ВМ с тем же IP-адресом, что и у исходной ВМ, из-за чего Cilium не мог корректно маршрутизировать трафик. Решение позволяет одновременно поддерживать два экземпляра ВМ с одинаковым IP-адресов, при этом трафик направляется только на активный, что исключает разрывы соединений.
Таким образом, миграция происходит бесшовно, без прерывания сетевых сессий, даже при активном сетевом трафике. Это подтверждено тестами с использованием iPerf, которые показали сохранение пропускной способности и стабильности соединений в различных сценариях — между узлами, ВМ и через сервисы NodePort и LoadBalancer. Такие доработки обеспечивают минимальное время простоя и надёжность сетевого взаимодействия во время миграции.
Реализовали возможность отмены миграции ВМ
Ранее миграция ВМ была операцией без возможности приостановки — после запуска процесса отменить его было нельзя. Мы переработали логику работы живых миграций для ВМ. Так теперь можно отменить любую миграцию, если удалить соответствующий ресурс VirtualMachineOperation
.
Обеспечили автоматическую живую миграцию ВМ при изменении условий размещения
Раньше наша система виртуализации не поддерживала автоматическую миграцию ВМ при изменении условий её размещения на узлах гипервизора. Если изменялись параметры nodeSelector
или affinity
, виртуальная машина оставалась на прежнем узле, несмотря на новые требования.
Мы реализовали механизм, который при изменении условий расположения ВМ автоматически приводит её в соответствие с новыми параметрами. Если необходимо, ВМ выполняет живую миграцию на другой узел, соответствующий обновлённым nodeSelector
или affinity
. Это позволяет поддерживать актуальное распределение нагрузки, улучшает использование ресурсов и минимизирует простой сервисов, поскольку миграция происходит без остановки работы ВМ.
Автоматизировали подключение к консоли ВМ
Консольное подключение к ВМ теперь автоматически ожидает её готовности и подключается сразу после её запуска. Теперь не нужно повторно подключаться к консоли после перезагрузки ВМ. Ранее для этого требовалось вручную обновлять страницу, чтобы восстановить соединение с консолью, что было менее удобно. Теперь процесс стал полностью автоматическим.
Реализовали поддержку политики живой миграции ВМ
Теперь можно настраивать политику миграции индивидуально для каждой ВМ с использованием опций VM и VMOP. Safe-политики запускают миграцию в привычном режиме, тогда как Force-политики позволяют успешно мигрировать ВМ с интенсивными изменениями памяти за счёт замедления CPU.
По умолчанию установлена политика PreferSafe, то есть миграция выполняется как обычно. Однако с помощью команды d8 v evict --force
можно инициировать миграцию с замедлением CPU.
Конфигурация виртуальных машин
Автоматизировали определение конфигурации процессов ВМ
Ранее конфигурация процессоров ВМ задавалась по схеме «1 ядро на каждый сокет», что ограничивало эффективное использование ресурсов и вызывало проблемы с совместимостью некоторых операционных систем (ОС), например Windows — в обычных версиях она не поддерживает более двух сокетов. Линуксовые ОС могут работать с бóльшим количеством сокетов, но их число также имеет ограничения.
Теперь конфигурация процессоров ВМ формируется по новой логике: до 16 ядер ВМ получает 1 сокет, при большем количестве ядер число сокетов и ядер на сокет увеличивается кратно, например 18, 20, 22...32, 36, 40, 44...64, 72, 80...128 ядер распределяются по сокетам с учётом этих правил. Это позволяет оптимизировать совместимость с ОС и повысить производительность.
Логика расчёта количества сокетов и ядер.
Работа с дисками и образами виртуальных машин
Добавили возможность создавать образ ВМ из снимка диска
Ранее нельзя было создавать ВМ и образы напрямую из снимков дисков — эта возможность отсутствовала. Теперь можно быстро и удобно генерировать образы из ранее сделанных снимков дисков, что значительно упрощает процесс восстановления и клонирования ВМ. В итоге не нужно создавать диски вручную или использовать обходные пути.
Сделали ВМ более устойчивыми к ошибкам ввода-вывода на дисках
Раньше, если возникала проблема с вводом-выводом, ВМ автоматически останавливалась и переходила в режим паузы. В новом обновлении поведение изменилось: вместо паузы сообщения об ошибках ввода-вывода будут передаваться в гостевую операционную систему. Это позволяет самой гостевой системе принимать решения, как реагировать на возникшие проблемы (например, с помощью механизмов повторной попытки чтения-записи).
Такой подход обеспечивает более честное и прозрачное взаимодействие виртуальной инфраструктуры с уровнем ОС: моделирует поведение, аналогичное физическому окружению, и позволяет гостевой системе управлять ошибками по своему усмотрению.
Безопасность
Добавили роли для RBACv2
Платформа предоставляет стандартный набор ролей для управления доступом к проектным и кластерным ресурсам, которые разделены на два типа:
Use-роли — назначаются пользователям проекта и позволяют им управлять ресурсами в рамках указанного проекта.
Manage-роли — предназначены для администраторов платформы, предоставляя им права на управление ресурсами на уровне всей платформы.
Подробности в документации.
Перевели образы модуля на distroless
Мы перевели образы модуля на бездистрибутивные (distroless) образы, что значительно повысило безопасность и эффективность работы.
Бездистрибутивные образы уменьшают площадь атаки за счёт исключения ненужных компонентов, таких как менеджеры пакетов и оболочки. Это сводит к минимуму потенциальные уязвимости, поскольку в образах остаются только необходимые для работы приложения зависимости, а количество компонентов, которые могут содержать уязвимости, существенно сокращается.
Образы теперь содержат только основные зависимости, необходимые для работы приложения, без полной ОС и других несущественных компонентов. Это позволяет значительно уменьшить размер образов, что упрощает их хранение и передачу.
Более компактные образы обеспечивают более быстрый запуск приложений благодаря меньшему количеству зависимостей для инициализации. Кроме того, снижается использование памяти и дискового пространства в кластерах, что положительно сказывается на общей производительности и экономии ресурсов.
Добавили контроль целостности конфигурации ВМ
Таким образом мы повысили безопасность. Теперь отслеживаем и проверяем синхронизированные контрольные суммы ВМ, так мы гарантируем согласованность изменений спецификаций и снижаем риск несанкционированных изменений со стороны злоумышленника.
Добавили контроллер аудита, который отслеживает события безопасности, связанные с ресурсами модуля виртуализации
Контроллер отслеживает и записывает ключевые события, связанные с управлением ВМ и её компонентами. Logshipper собирает данные и отправляет на наш TCP-сокет, после чего мы обрабатываем их, насыщаем дополнительными данными и пишем лог для последующего сбора Loki.
Контроллер регистрирует такие важные действия, как:
создание и удаление ВМ;
обновление конфигурации ВМ;
запуск и остановка ВМ с указанием причины остановки;
доступ пользователей СВ к ВМ;
факты нарушения целостности объектов контроля.
Это решение позволяет своевременно выявлять подозрительную активность и потенциальные угрозы безопасности, обеспечивая более надёжную защиту ресурсов виртуализации.
Отключили неиспользуемые сокеты virtlogd/virtqemud в прошивке ВМ для снижения риска атак
В рамках работ по повышению уровня безопасности мы отключили неиспользуемые сокеты у сервисов (демонов):
virtlogd — демон для управления журналированием виртуальных машин, отделяющий процесс ведения журналов от основной виртуальной машины для безопасности и производительности;
virtqemud — работающий на гипервизоре сервис для обеспечения проксирования между клиентами и QEMU. Предоставляет API-методы для управления виртуальными машинами.
Сделали так, чтобы контейнер ВМ использовал только RO-файловую систему при запуске
Теперь ВМ используют контейнеры с файловой системы в режиме только для чтения при запуске (Read-only), что предотвращает изменение файловой системы и возможность добавлять вредоносный код злоумышленниками, а также гарантирует целостность системы.
Обеспечили безопасность и согласованность монтирования образов
Мы внесли изменения в поведение монтирования образов дисков контейнеров, которые теперь всегда будут устанавливаться в режиме Read-only (только для чтения). Это изменение сделано для устранения несоответствий в текущем подходе. Ранее hot-plug-образы монтировались в режиме Read-only, тогда как обычные образы были доступны для записи. Такое различие могло вызывать непредсказуемое поведение и усложнять управление образами.
Теперь все виртуальные образы монтируются в режиме Read-only. Это улучшает безопасность и предотвращает случайные или непреднамеренные изменения, а также обеспечивает единообразное управление всеми ресурсами виртуализации.
Мониторинг и удобство администрирования
Мы провели большую работу по улучшению пользовательского опыта при эксплуатации платформы виртуализации: добавили новые метрики, события и статусы ресурсов для полноценного мониторинга и наблюдаемости инфраструктуры и ВМ.
Добавили дашборд с отображением метрик виртуальных машин
Ввели новый дашборд в Grafana, предназначенный для удобного отображения метрик ВМ. Ранее, чтобы отслеживать метрики, приходилось работать через поды Kubernetes, внутри которых запускаются ВМ. Это было неудобно, так как поды — это более техническая сущность, не всегда понятная пользователям виртуализации. Также возникали сложности во время миграции ВМ, когда на короткое время существовали два пода для одной машины, что затрудняло получение корректных данных о метриках.
Теперь с новым дашбордом пользователи могут легко отслеживать:
использование CPU и памяти ВМ;
состояние запущенных ВМ;
общую нагрузку на инфраструктуру виртуализации.

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

В будущем планируется дополнительная интеграция метрик по нагрузке на отдельные узлы и проекты, что сделает мониторинг ещё более информативным и полезным.
Переработали статусы состояния ресурсов для лучшего пользовательского опыта
Мы обновили статусы состояния ресурсов, чтобы сделать их более понятными и удобочитаемыми для пользователей. Например, блок с условием BlockDevicesReady был переработан для улучшения обратной связи и восприятия. А к статусу AttachedVirtualMachine виртуального диска добавили флаг Mounted
, чтобы указывать, что диск монтирован.
Также добавили события (events) о состоянии ресурса — теперь в платформе фиксируются события при изменении состояния дисков, образов и классов ВМ, а также IP-адресов и снимков. Это позволяет оперативно отслеживать изменения и быстрее реагировать на них.
Заключение
Мы продолжаем активно развивать Deckhouse Virtualization Platform и регулярно внедряем новые функции и улучшения. В этом дайджесте постарались кратко рассказать о самых важных изменениях, которые появились с начала 2025 года. Ниже ещё раз перечислим ключевые нововведения последних релизов:
-
Общие изменения:
Разделили платформу на Community Edition (CE) и Enterprise Edition (EE) с разным набором функций.
Обновили core-компоненты для повышения производительности, безопасности и функциональности.
Добавили поддержку Kubernetes 1.31.
Доработали и структурировали документацию.
-
Операции с виртуальными машинами:
Снизили время простоя ВМ при живой миграции до десятых долей секунды.
Реализовали возможность отмены миграции ВМ.
Добавили автоматизацию подключения к консоли ВМ после перезагрузки.
Внедрили гибкую настройку политики миграции для каждой ВМ.
Реализовали живую миграцию при изменении условий размещения ВМ.
-
Конфигурация виртуальных машин:
Автоматизировали определение конфигурации процессоров ВМ для повышения совместимости и производительности.
-
Работа с дисками и образами виртуальных машин:
Добавили возможность создавать образы ВМ из снимков дисков.
Сделали ВМ более устойчивыми к ошибкам ввода-вывода на дисках: ошибки теперь передаются в гостевую ОС.
-
Безопасность:
Внедрили роли для RBACv2 (Use- и Manage-роли).
Перевели образы модулей на distroless для повышения безопасности и минимизации уязвимостей.
Добавили контроль целостности конфигурации ВМ.
Внедрили контроллер аудита для отслеживания событий безопасности и управления ВМ.
Отключили неиспользуемые сокеты virtlogd/virtqemud.
Сделали так, чтобы контейнер ВМ использовал только RO-файловую систему при запуске.
Обеспечили безопасность и согласованность монтирования образов.
-
Мониторинг и удобство администрирования:
Добавили новый дашборд в Grafana для мониторинга метрик ВМ.
Переработали статусы состояния ресурсов.
Полный список изменений всех версий можно посмотреть по ссылке.
Для знакомства с платформой рекомендуем изучить раздел «Быстрый старт». Также у нас есть бесплатный курс по установке Deckhouse Virtualization Platform.
Чтобы подробнее узнать о том, зачем в экосистеме Deckhouse существует собственная виртуализация, как она интегрирована в архитектуру Deckhouse Kubernetes Platform (DKP), что она умеет и какие сценарии виртуализации применяются нашими клиентами, смотрите запись нашего вебинара.
P. S.
Читайте также в нашем блоге: