Мигрируйте виртуальные машины в Kubernetes с помощью этого нового инструмента
Перенесите свои виртуализированные рабочие нагрузки в Kubernetes с помощью Forklift.
В 2017 году команда KubeVirt запустила проект по управлению виртуальными машинами (ВМ) наряду с контейнерами в Kubernetes. Целью проекта с открытым исходным кодом было сделать виртуальные машины первоклассными гражданами в этой среде.
С момента своего представления на Open Source Summit 2018 KubeVirt продолжает развиваться и расти. Он получил более 2000 звезд на GitHub и даже представил собственное мероприятие KubeVirt Summit в феврале 2021 года.
Внедрение виртуализации в Kubernetes (© Red Hat)
KubeVirt — это основа виртуализации OpenShift, которая помогает разработчикам включать виртуальные машины в контейнерные рабочие процессы.
Использование виртуальных машин в Kubernetes
KubeVirt позволяет использовать встроенные возможности Kubernetes на виртуальных машинах. Это означает, что они могут подключаться к сетям модулей, доступным с использованием стандартных методов Kubernetes, включая службы, маршруты, конвейеры и т. д. Сетевые политики применяются к модулям виртуальных машин так же, как они применяются к модулям приложений, обеспечивая согласованную модель для управления виртуальными модулями. pod (и наоборот).
Реальным примером этого является то, как авиационная компания использовала старое программное обеспечение для симуляторов. Он внедрил в модели искусственный интеллект и машинное обучение (AI/ML), а затем автоматически развернул и протестировал их на симуляторе на базе виртуальной машины. Это позволило полностью автоматизировать получение результатов тестирования и новых данных телеметрического обучения с помощью Kubernetes и Kubeflow.
(Конвейор, CC BY-SA 4.0)
Konveyor.io — это проект с открытым исходным кодом, который помогает перенести существующие рабочие нагрузки (разработка, тестирование и производство) на Kubernetes. В число его инструментов входят Crane для перемещения контейнеров с одной платформы Kubernetes на другую; Move2Kube — для переноса рабочих нагрузок из Cloud Foundry в Kubernetes; и Tackle — для анализа Java-приложений с целью их модернизации, делая их более стандартными и переносимыми для сред выполнения, доступных на контейнерных платформах, таких как Kubernetes.
Эти инструменты полезны в шаблонах трансформации, но многие проекты хотят использовать Kubernetes на более ранних стадиях, чтобы стать более гибкими и продуктивными. Что касается инфраструктуры, эти преимущества могут включать в себя балансировку нагрузки синего и зеленого цвета, управление маршрутами, декларативное развертывание или (в зависимости от способа развертывания) более простые обновления благодаря неизменяемой инфраструктуре. Что касается разработки, они могут включать интеграцию конвейеров непрерывной интеграции/непрерывной разработки (CI/CD) с платформой, ускорение запуска приложений в производство, самостоятельное предоставление ресурсов или интеграцию проверок работоспособности и мониторинга.
KubeVirt может помочь вам запускать рабочие нагрузки на виртуальных машинах в среде Kubernetes. Он позволяет вам быстро интегрировать свои рабочие нагрузки в Kubernetes, пользоваться его преимуществами и постепенно модернизировать свои рабочие нагрузки. Но у вас все еще остается проблема переноса ваших виртуальных машин с традиционной платформы виртуализации на современную платформу Kubernetes. Именно здесь на помощь приходит проект Konveyor’s Forklift.
О вилочном погрузчике
Forklift переносит виртуализированные рабочие нагрузки из разных источников в Kubernetes с помощью KubeVirt. Он предназначен для упрощения задачи, чтобы вы могли перенести что-либо с одной или двух машин на сотни.
Миграция представляет собой простой трехэтапный процесс:
- Подключитесь к существующей платформе виртуализации (известной как «исходный поставщик») и к среде Kubernetes («целевой поставщик»).
- Сопоставьте ресурсы сети и хранилища от исходного поставщика с целевым поставщиком, ища эквивалентные ресурсы в обоих.
- Выберите виртуальные машины для миграции и назначьте сопоставления сети и хранилища, чтобы сформулировать план миграции. Затем запустите его.
С чего начать
Чтобы начать работу с Forklift, во-первых, вам нужен совместимый поставщик исходного кода. Вам также понадобится среда Kubernetes с KubeVirt 0.40 или новее и «голыми» узлами (хотя для тестирования вы можете использовать вложенную виртуализацию). Настройте свои классы хранения с возможностями чтения-записи-выполнения (RWX) и используйте Multus для настройки своих сетей в соответствии с теми, которые ваши виртуальные машины используют в исходном поставщике. (Если вы не можете этого сделать, не беспокойтесь; у вас также есть возможность изменить IP-адресацию.)
Наконец, установите Forklift в Kubernetes, используя предоставленный оператор, и получите доступ к пользовательскому интерфейсу, чтобы начать выполнение первых тестовых миграций.
Forklift — это расширенная версия набора инструментов для миграции Red Hat для виртуализации. Поэтому, если вы хотите использовать его в производственной среде, возможно, вам стоит рассмотреть возможность использования поддерживаемой версии инструмента.
Удачной миграции!