Общедоступная версия. Готово к использованию в production-средах.

v1.1.1

Fixes

  • [core] Исправлена проблема в containerd v2, из-за которой хранилище, предоставляющее PVC с типом FileSystem, некорректно подключалось через VirtualMachineBlockDeviceAttachment.
  • [core] Добавлено отображение ошибок в статусе дисков и образов при недоступности источника данных (URL).
  • [vi] Теперь при создании виртуальных образов из снимков виртуальных дисков учитывается параметр spec.persistentVolumeClaim.storageClassName. Ранее он мог игнорироваться.
  • [vm] Исправлен вывод кондишна NetworkReady: он больше не отображается в состоянии Unknown и показывается только при необходимости.
  • [vm] Добавлена валидация, предотвращающая указание одной и той же сети в спецификации виртуальной машины .spec.network более одного раза.
  • [vmip] Добавлена валидация для статических IP-адресов, предотвращающая создание ресурсов VirtualMachineIPAddress с уже используемым в кластере адресом.
  • [vmbda] Исправлена ошибка, из-за которой при отключении виртуального образа через VirtualMachineBlockDeviceAttachment ресурс мог зависать в состоянии Terminating.

Other

  • [observability] Добавлены метрики Prometheus для снимков виртуальных машин (d8_virtualization_virtualmachinesnapshot_info) и дисков (d8_virtualization_virtualdisksnapshot_info), показывающие, к каким объектам они относятся.

Security

  • [module] Исправлены уязвимости CVE-2025-58058 и CVE-2025-54410.

v1.1.0

Новые возможности

  • [vm] Добавлена возможность миграции ВМ, использующей диски на локальных хранилищах. Ограничения:
    • Функция недоступна в CE-редакции.
    • Миграция возможна только для запущенной ВМ (phase: Running)
    • Миграция ВМ с локальными дисками, подключенными через VirtualMachineBlockDeviceAttachment (hotplug), пока недоступна.
  • [vd] Добавлена возможность миграции хранилища для дисков ВМ (изменение StorageClass). Ограничения:
    • Функция недоступна в CE-редакции.
    • Миграция возможна только для запущенной ВМ (phase: Running)
    • Миграция хранилища для дисков, подключенных через VirtualMachineBlockDeviceAttachment (hotplug), пока недоступна.
  • [vmop] Добавлена операция с типом Clone для создания клона ВМ из существующей ВМ (VirtualMachineOperation .spec.type: Clone).
  • [observability] Добавлен алерт KubeNodeAwaitingVirtualMachinesEvictionBeforeShutdown, срабатывающий при получении узлом, на котором размещены виртуальные машины, команды на завершение работы — до завершения эвакуации ВМ.
  • [observability] Добавлен алерт D8VirtualizationDVCRInsufficientCapacityRisk, предупреждающий о риске нехватки свободного места в хранилище образов виртуальных машин (DVCR).

Исправления

  • [vmclass] Исправлена ошибка в VirtualMachineClass типах Features и Discovery, из-за которой на узлах с процессорами AMD не работала вложенная виртуализация.
  • [vmop/restore] Исправлена ошибка, при которой контроллер иногда запускал восстановленную ВМ до завершения восстановления её дисков, в результате чего ВМ стартовала со старыми (не восстановленными) дисками.
  • [vmsnapshot] Исправлено поведение при создании снимка ВМ при наличии неприменённых изменений: снимок теперь мгновенно фиксирует актуальное состояние виртуальной машины, включая все текущие изменения.
  • [module] Исправлена проблема установки модуля на RedOS 8.X ОС.
  • [module] Улучшена валидация, предотвращающая добавление пустых значений для параметров, определяющих классы хранения для дисков и образов.
  • [vmop] Исправлена работа сборщика мусора: ранее при перезапуске virtualization-controller все объекты VMOP удалялись без учёта правил очистки.
  • [observability] Дашборд виртуальной машины теперь отображает статистику по всем сетям (в том числе и дополнительным), подключённым к ВМ.
  • [observability] На дашборде виртуальной машины исправлен график, отображающий статистику копирования памяти во время миграции ВМ.

Прочее

v1.0.0

Новые возможности

  • [vm] Добавлена защита от подключения cloud-образа (VirtualImage \ ClusterVirtualImage) в качестве первого диска. Ранее это приводило к невозможности запуска ВМ с ошибкой “No bootable device”.
  • [vmop] Добавлена операция с типом Restore для восстановления ВМ из ранее созданного снимка.

Исправления

  • [vmsnapshot] Теперь при восстановлении виртуальной машины из снимка корректно восстанавливаются все аннотации и лейблы, которые были у ресурсов в момент снимка.
  • [module] Исправлена проблема с блокировкой очереди, когда параметр settings.modules.publicClusterDomain был пустым в глобальном ресурсе ModuleConfig.
  • [module] Оптимизирована производительность хука во время установки модуля.
  • [vmclass] Исправлена валидация core/coreFraction в ресурсе VirtualMachineClass.
  • [module] При выключенном модуле SDN конфигурация дополнительных сетей в ВМ недоступна.

Безопасность

  • Устранено CVE-2025-47907

v0.25.0

Важное

В версии v.0.25.0 добавлена поддержка работы модуля с CRI containerd V2. После обновления CRI с containerd v1 до containerd v2 необходимо пересоздать образы, которые были созданы с использованием версии модуля виртуализации v0.24.0 и ранее.

Новые возможности

  • [vm] Добавлена возможность подключения к виртуальной машине дополнительных сетевых интерфейсов к сетям, предоставляемым модулем SDN. Для этого модуль SDN должен быть включен в кластере.
  • [vmmac] Для дополнительных сетевых интерфейсов добавлено управление MAC-адресами с использованием ресурсов VirtualMachineMACAddress и VirtualMachineMACAddressLease.
  • [vmclass] Добавлена аннотация для установки класса виртуальной машины по умолчанию. Чтобы назначить VirtualMachineClass по умолчанию, необходимо добавить на него аннотацию virtualmachineclass.virtualization.deckhouse.io/is-default-class=true. Это позволяет создавать ВМ с пустым полем spec.virtualMachineClassName, автоматически заполняя его классом по умолчанию.
  • [observability] Добавлены новые метрики Prometheus для отслеживания фазы ресурсов, таких как VirtualMachineSnapshot, VirtualDiskSnapshot, VirtualImage и ClusterVirtualImage.

Исправления

  • [vm] Исправили проблему: при изменении типа операционной системы машина уходила в циклическую перезагрузку.
  • [vm] Исправили зависание виртуальной машины в фазе Starting при нехватке квот проекта. Сообщение о нехватке квот будет отображаться в статусе виртуальной машины. Чтобы машина продолжила запуск, необходимо будет увеличить квоты проекта.
  • [vi] Для создания виртуального образа на PersistentVolumeClaim должно быть использовано хранилище в режиме RWX и Block, в противном случае будет отображено предупреждение об ошибке.
  • [module] Добавили валидацию, проверяющую, что подсети виртуальных машин не пересекаются с системными подсетями (podSubnetCIDR и serviceSubnetCIDR).

Прочее

  • [vmop] Улучшили сборщик мусора (GC) для отработавших операций виртуальной машины:
    • GC запускается каждый день в 00:00;
    • GC будет удалять успешно завершённые операции (Completed \ Failed), если истёк их TTL (24 часа);
    • GC подчищает все завершённые операции (Completed \ Failed), оставляя только 10 последних.