Deckhouse Virtualization Platform (DVP) позволяет декларативно создавать, запускать и управлять виртуальными машинами и их ресурсами. DVP работает на основе Deckhouse Kubernetes Platform. Для управления ресурсами DKP/DVP используется утилита командной строки d8.

Сценарии использования

  • Запуск виртуальных машин с x86-64-совместимой ОС.

    Запуск ВМ

  • Запуск виртуальных машин и контейнеризированных приложений в одном окружении.

    Запуск ВМ и приложений

  • Создание кластеров DKP.

     Создание кластеров DKP

Внимание Если вы планируете использовать Deckhouse Virtualization Platform в production-среде, рекомендуется разворачивать её на физических (bare-metal) серверах. Развертывание Deckhouse Virtualization Platform на виртуальных машинах также возможно, но в этом случае необходимо включить вложенную виртуализацию (nested virtualization).

Архитектура

Платформа включает в себя следующие компоненты:

  • Ядро платформы (CORE) — основано на проекте KubeVirt и использует QEMU/KVM + libvirtd для запуска виртуальных машин.
  • Deckhouse Virtualization Container Registry (DVCR) — репозиторий для хранения и кэширования образов виртуальных машин.
  • Virtualization API (API) — контроллер, реализующий API пользователя для создания и управления ресурсами виртуальных машин.

Архитектура

Перечень контроллеров и операторов, которые развёртываются в пространстве имён d8-virtualization после включения модуля:

Название Компонент Комментарий
cdi-operator-* CORE Компонент ядра виртуализации для управления дисками и образами.
cdi-apiserver-* CORE Компонент ядра виртуализации для управления дисками и образами.
cdi-deployment-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-api-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-controller-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-operator-* CORE Компонент ядра виртуализации для управления дисками и образами.
virtualization-api-* API API для создания и управления ресурсами модуля (образы, диски, ВМ и т. д.)
virtualization-controller-* API API для создания и управления ресурсами модуля (образы, диски, ВМ и т. д.)
virtualization-audit-* Security Сервис аудита событий для ресурсов модуля.
dvcr-* DVCR Реестр для хранения образов.
virt-handler-* CORE Компонент ядра виртуализации для управления дисками и образами.
vm-route-forge-* CORE Маршрутизатор для настройки маршрутов до ВМ. Должен присутствовать на всех узлах кластера, где будут запускаться ВМ.

Виртуальная машина запускается внутри пода, что позволяет управлять виртуальными машинами как обычными ресурсами Kubernetes и использовать все возможности платформы, включая балансировщики нагрузки, сетевые политики, средства автоматизации и т. д.

Запуск ВМ

API позволяет декларативно создавать, изменять и удалять следующие базовые ресурсы:

  • образы виртуальных машин и загрузочные образы,
  • диски виртуальных машин,
  • виртуальные машины.