В данном подразделе описана архитектура подсистемы Virtualization (подсистемы виртуализации) Deckhouse Kubernetes Platform (DKP).

Подсистема Virtualization представлена модулем virtualization, который позволяет декларативно создавать, запускать и управлять виртуальными машинами (ВМ) и их ресурсами.

Модуль virtualization включает в себя следующие компоненты:

  • Virtualization API (API) — контроллер, реализующий API пользователя для создания и управления ресурсами виртуальных машин;
  • ядро модуля — основано на проекте KubeVirt и использует QEMU/KVM + libvirtd для запуска ВМ. KubeVirt — это Open Source-проект, который позволяет запускать, развёртывать и управлять ВМ с использованием Kubernetes в качестве платформы оркестрации. Он обеспечивает совместную работу традиционных ВМ и контейнерных рабочих нагрузок в одном кластере Kubernetes, предоставляя единую плоскость управления;
  • Deckhouse Virtualization Container Registry (DVCR) — хранилище образов контейнеров для хранения и кеширования образов ВМ;
  • Containerized Data Importer (CDI) — дополнение для управления постоянным хранилищем в Kubernetes. Его основная цель — предоставить декларативный способ создания дисков ВМ на основе ресурсов PersistentVolumeClaim (PVC). CDI предоставляет возможность импортировать образы и диски ВМ в PVC-тома для использования в ВМ, управляемых KubeVirt;
  • вспомогательные компоненты — компоненты, реализующие следующие вспомогательные функции:

    • аудит событий безопасности;
    • проброс USB-устройств в ВМ;
    • обновление сетевых маршрутов;
    • удаление ресурсов перед деактивацией модуля virtualization.

Подробнее с описанием модуля можно ознакомиться в разделе документации модуля.

Дополнительные ресурсы