В данном подразделе описана архитектура подсистемы 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.
Подробнее с описанием модуля можно ознакомиться в разделе документации модуля.