В релизе Deckhouse Virtualization Platform 1.0 мы закрыли важные требования пользователей к виртуализации и вышли за рамки нишевого решения. Теперь платформа даёт больше сетевой гибкости и упрощает резервное копирование данных.
Что за Deckhouse Virtualization Platform (DVP)
Оркестрация контейнеров с помощью Kubernetes привычна и понятна. В Deckhouse Virtualization Platform мы используем K8s для запуска виртуальных машин и управления ими. В итоге получается единая среда для контейнеров и ВМ, где можно запускать и администрировать любые нагрузки.
В основе платформы лежит существенно доработанный KubeVirt — Open Source-решение с большим сообществом и активными контрибьюторами в лице крупных международных компаний. Мы добавили к нему интеграцию с сетью и СХД, оптимизировали производительность, организовали мониторинг, а также написали собственные API и веб-интерфейс. Благодаря этому можно применять GitOps/IaC-подходы к управлению виртуализацией.
Главные изменения
Поддержка VLAN и сетевая мультитенантность. Теперь DVP позволяет подключать виртуальную машину к нескольким VLAN, как в классической виртуализации. На уровне физических сетевых интерфейсов узла кластера может быть много виртуальных локальных сетей, и ВМ, подключённые к разным VLAN, будут изолированы друг от друга. При этом в релизе появилась возможность добавлять несколько сетевых интерфейсов к виртуальным машинам. В Kubernetes такой подход не является стандартным и потребовал существенной доработки Cillium «под капотом» нашего SDN.
Кроме того, сети с поддержкой VLAN могут использоваться для VPC: можно определить общие на уровне кластера или частные, доступные только для конкретного проекта. Такой механизм расширяет концепцию мультитенантности в DVP и позволяет дополнительно контролировать взаимодействие между виртуальными машинами в рамках отдельных тенантов-проектов.
Бэкапы без агентов. Начиная с версии DVP 1.0 можно экспортировать диски и снимки виртуальных машин. Это позволяет создавать резервные копии ВМ без установки агента внутри ОС. Их можно выгрузить из системы виртуализации во внешнее хранилище и затем загрузить обратно.
Когда может быть полезна виртуализация Deckhouse
При разработке виртуализации в Deckhouse и добавлении в неё фич мы ориентируемся на три основных пользовательских сценария.
1. Работа виртуальных машин и контейнеров в одном окружении. DVP позволяет применять GitOps-подход к управлению виртуальной инфраструктурой и использовать декларативное описание конфигураций ВМ и контейнеров. При этом ВМ и контейнеры работают в едином окружении со сквозными правилами безопасности и едиными сетевыми политиками и квотами.
Такой сценарий подойдёт, если вам нужно эксплуатировать монолитные приложения (например, использовать работающие на ВМ базы данных) и одновременно запускать или разрабатывать приложения в контейнерах или микросервисы.
2. Классическая виртуализация с Cloud Native-возможностями. Этот сценарий подходит, если вам нужно привычное управление ресурсами ВМ, дисками и настройками через графический интерфейс. Веб-интерфейс позволяет сделать всё, что инженеры ожидают от платформы виртуализации: администрирование инфраструктуры, виртуальных машин и образов.
При этом платформа предоставляет мультитенантность для изоляции групп ВМ, сетевые политики для микросегментации, заказ балансирощиков для ВМ, подключение к внешним СХД или собственному SDS, мониторинг состояния инфраструктуры и ВМ. Возможности управления не ограничены веб-интерфейсом: у DVP есть полноценный API для администрирования виртуальной инфраструктуры без внешних инструментов.
3. Kubernetes как сервис с помощью DVP. Сейчас бóльшая часть кластеров Kubernetes запускается в виртуальном окружении. Это позволяет эффективнее использовать физические ресурсы серверов и предоставлять полностью изолированные K8s-кластеры, доступ к которым можно выдать нужным командам или отдельным пользователям.
Но развёртывание кластеров вручную может занимать много времени. А ещё остаются задачи скейлинга, проброса хранилища внутрь виртуального кластера и предоставление балансировщиков для приложений. Чтобы всё это упростить, у нас есть DVP Cloud Provider. Он позволяет управлять развёртыванием и эксплуатацией кластеров Deckhouse Kubernetes Platform, работающих на платформе виртуализации от Deckhouse. А для централизованного администрирования множества кластеров Deckhouse через веб-интерфейс есть Deckhouse Сommander.
Сравнение редакций
Наша виртуализация доступна как отдельный продукт Deckhouse Virtualization Platform Enterprise Edition, а также как модуль в составе SE+/EE-редакций Deckhouse Kubernetes Platform (DKP). Основная разница в том, что DVP нацелена в первую очередь на работу виртуальных машин и позволяет запускать до 50 пользовательских контейнеров в одном кластере. В DKP SE+ и EE таких ограничений нет.
DVP Cloud Provider для автоматизации развёртывания Kubernetes-кластеров доступен во всех редакциях. Deckhouse Commander для централизованного управления парком кластеров включен в DKP SE+ и ЕЕ, для остальных редакций его необходимо лицензировать отдельно.
В Open Source-платформе DKP CE виртуализация тоже доступна в виде модуля. В бесплатном варианте есть ограничения в веб-интерфейсе администратора и поддерживаются не все варианты хранения — CE работает с внешними NFS и Ceph, а также и c собственными sds-local-volume и sds-replicated-volume.
P. S.
Читайте также в нашем блоге:
Новости виртуализации Deckhouse: готовность к продакшену, автоматическая перебалансировка ВМ по узлам и другие фичи
Оптимизировали живую миграцию и добавили дашборд для мониторинга в Deckhouse Virtualization Platform
KubeVirt: глубокое погружение для администраторов VMware vSphere
Источник: habr.com