Доступно с ограничениями в редакциях: CE
Доступно без ограничений в редакциях: SE+, EE
Общедоступная версия. Готово к использованию в production-средах.
Модуль virtualization
позволяет декларативно создавать, запускать и управлять виртуальными машинами и их ресурсами.
Для управления ресурсами кластера используется утилита командной строки d8
.
Сценарии использования
-
Запуск виртуальных машин с x86-64-совместимой ОС.
-
Запуск виртуальных машин и контейнеризованных приложений в одном окружении.
-
Создание кластеров DKP.
Если вы планируете использовать virtualization
в production-среде, рекомендуется использовать кластер, развёрнутый на физических (bare-metal) серверах. Допускается в целях тестирования использовать модуль в кластере, развёрнутом на виртуальных машинах, но при этом на них должна быть включена вложенная виртуализация (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 | Компонент ядра виртуализации для управления дисками и образами. |
virt-api-* |
CORE | Компонент ядра виртуализации для управления дисками и образами. |
virt-controller-* |
CORE | Компонент ядра виртуализации для управления дисками и образами. |
virt-operator-* |
CORE | Компонент ядра виртуализации для управления дисками и образами. |
virtualization-api-* |
API | API для создания и управления ресурсами модуля (образы, диски, ВМ и т. д.) |
virtualization-controller-* |
API | API для создания и управления ресурсами модуля (образы, диски, ВМ и т. д.) |
virtualization-audit-* |
Security | Сервис аудита событий для ресурсов модуля. |
dvcr-* |
DVCR | Реестр для хранения образов. |
virt-handler-* |
CORE | Компонент ядра виртуализации для управления дисками и образами. |
vm-route-forge-* |
CORE | Маршрутизатор для настройки маршрутов до ВМ. Должен присутствовать на всех узлах кластера, где будут запускаться ВМ. |
Виртуальная машина запускается внутри пода, что позволяет управлять виртуальными машинами как обычными ресурсами Kubernetes и использовать все возможности платформы, включая балансировщики нагрузки, сетевые политики, средства автоматизации и т. д.
API предоставляет возможность для декларативного создания, модификации и удаления следующих базовых ресурсов:
- образы виртуальных машин и загрузочные образы;
- диски виртуальных машин;
- виртуальные машины.