KubeVirt — проект с открытым исходным кодом, реализующий поддержку виртуальных машин на платформе оркестрации Kubernetes. Он расширяет модель контейнерного управления, позволяя запускать и управлять полнофункциональными виртуальными машинами рядом с контейнеризованными приложениями в единой инфраструктуре. KubeVirt реализует компоненты управления и runtime-интеграцию, которые представляют виртуальные машины как ресурсы Kubernetes и обеспечивают их жизненный цикл, сетевое подключение, хранилище и политики управления.
Проект разрабатывается сообществом и интегрируется с экосистемой Kubernetes, используя существующие механизмы API, контроллеров и CRD (Custom Resource Definitions). KubeVirt адресует потребности организаций, которым требуется миграция или совместная эксплуатация традиционных рабочих нагрузок на виртуальных машинах и облачных/контейнерных сервисов. Архитектурно решение опирается на компоненты, отвечающие за запуск гостевых ОС в изолированных средах, управление состоянием ВМ, обработку событий и взаимодействие с ресурсами кластера.
- Интеграция с Kubernetes: Виртуальные машины представлены как объекты API Kubernetes, управляются через стандартные механизмы планирования и контроля.
 - Поддержка гостевых ОС: Возможность запуска различных операционных систем внутри виртуальных машин с доступом к виртуализированным устройствам.
 - Управление жизненным циклом: Создание, удаление, пауза, миграция и восстановление виртуальных машин через контроллеры и CRD.
 - Сетевые возможности: Интеграция с сетевыми плагинами Kubernetes для обеспечения сетевого подключения ВМ, включая поддержку многосетевых конфигураций и политик безопасности.
 - Работа с хранилищем: Использование абстракций Kubernetes для дисковых томов, снапшотов и холодного/горячего присоединения хранилищ к ВМ.
 - Совместное управление с контейнерами: Сосуществование ВМ и контейнерных рабочих нагрузок в одном кластере с общими политиками наблюдаемости и безопасности.
 - Высокая доступность и миграция: Поддержка механизмов для обеспечения непрерывности работы, в том числе онлайн-миграции ВМ между узлами кластера.
 - Расширяемость и экосистема: Совместимость с инструментами мониторинга, логирования и CI/CD в экосистеме Kubernetes, а также возможность расширения через плагины и операторы.
 - Управление ресурсами и квотирование: Контроль использования CPU, памяти и дисковых ресурсов через нативные механизмы Kubernetes.
 - Безопасность и изоляция: Применение политик безопасности к ВМ, использование изоляции на уровне узлов и интеграция с существующими системами аутентификации и авторизации Kubernetes.