Документация находится в разработке, может содержать неполную информацию.

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

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

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

    Запуск ВМ

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

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

Внимание Если вы планируете использовать 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 Компонент ядра виртуализации для управления дисками и образами.
dvcr-* DVCR Реестр для хранения образов.
virt-api-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-controller-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-exportproxy-* CORE Компонент ядра виртуализации для управления дисками и образами.
virt-handler-* CORE Компонент ядра виртуализации для управления дисками и образами. Должен присутствовать на всех узлах кластера, где будут запускаться ВМ.
virt-operator-* CORE Компонент ядра виртуализации для управления дисками и образами.
virtualization-api-* API API для создания и управления ресурсами модуля (образы, диски, ВМ и т.д.)
virtualization-controller-* API API для создания и управления ресурсами модуля (образы, диски, ВМ и т.д.)
vm-route-forge-* CORE Маршрутизатор для настройки маршрутов до ВМ. Должен присутствовать на всех узлах кластера, где будут запускаться ВМ.

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

Запуск ВМ

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

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