v1.1.1
Исправление
- [core] Исправлена проблема в containerd v2, из-за которой хранилище, предоставляющее PVC с типом
FileSystem, некорректно подключалось черезVirtualMachineBlockDeviceAttachment. - [core] Добавлено отображение ошибок в статусе дисков и образов при недоступности источника данных (URL).
- [vi] Теперь при создании виртуальных образов из снимков виртуальных дисков учитывается параметр
spec.persistentVolumeClaim.storageClassName. Ранее он мог игнорироваться. - [vm] Исправлен вывод условия
NetworkReady: он больше не отображается в состоянииUnknownи показывается только при необходимости. - [vm] Добавлена валидация, предотвращающая указание одной и той же сети в спецификации виртуальной машины
.spec.networkболее одного раза. - [vmip] Добавлена валидация для статических IP-адресов, предотвращающая создание ресурсов
VirtualMachineIPAddressс уже используемым в кластере адресом. - [vmbda] Исправлена ошибка, из-за которой при отключении виртуального образа через
VirtualMachineBlockDeviceAttachmentресурс мог зависать в состоянииTerminating.
Прочее
- [observability] Добавлены метрики Prometheus для снимков виртуальных машин (
d8_virtualization_virtualmachinesnapshot_info) и дисков (d8_virtualization_virtualdisksnapshot_info), показывающие, к каким объектам они относятся.
Безопасность
- [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] Исправлена проблема установки модуля
virtualizationна 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] Оптимизирована производительность хука во время установки модуля
virtualization. - [vmclass] Исправлена валидация core/coreFraction в ресурсе
VirtualMachineClass. - [module] При выключенном модуле
SDNконфигурация дополнительных сетей в ВМ недоступна.
Безопасность
- Устранено CVE-2025-47907.
v0.25.0
Важное
В версии v.0.25.0 добавлена поддержка работы модуля virtualization с CRI containerd v2.
После обновления CRI с containerd v1 до containerd v2 необходимо пересоздать образы, которые были созданы с использованием версии модуля virtualization 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 последних.