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

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

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

  • Virtualization API (API) — контроллер, реализующий API пользователя для создания и управления ресурсами виртуальных машин;
  • ядро модуля (CORE) — основано на проекте 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.

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

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