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