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

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).

Исправления

  • [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 последних.