В начале июля мы в Linx Cloud запустили облачную платформу на OpenStack. В процессе работы мы изучали открытые решения в этой экосистеме. Некоторые из них, хотя и не были для нас актуальны на текущем этапе, показались нам интересными, и мы решили поделиться находками здесь.

Еще один компонент для OpenStack
Rockoon — это Kubernetes-контроллер для управления жизненным циклом OpenStack-сервисов. Его представил облачный провайдер Mirantis, специализирующийся на решениях на базе OpenStack и Kubernetes. Изначально авторы использовали Rockoon внутри компании, но в конце прошлого года инструмент был передан в open source под лицензией Apache 2.0. Как отмечают разработчики, Rockoon оптимизирован под их минималистичный и легковесный дистрибутив Kubernetes — K0s (который также выложен по открытой лицензии), однако совместим и с другими Kubernetes-средами.
Rockoon позволяет управлять вычислительными и сетевыми аппаратными ресурсами, а также системами хранения данных от различных вендоров. Пользователи могут контролировать инфраструктуру через веб-дашборд, CLI-интерфейс или RESTful API. При этом контроллер отслеживает изменения в OpenStack Deployment и автоматически реагирует на них, запуская, обновляя или удаляя ресурсы в кластере. Для этих целей решение использует набор Helm-чартов.
Инструмент написан на Python с использованием библиотеки Pykube и фреймворка Kopf для построения Kubernetes-операторов. Документация проекта достаточно компактная, но в ней можно найти описание архитектуры, руководство по быстрому старту и секцию по отладке. Инструмент уже привлек внимание сообщества — включая Тьерри Карреза, директора OpenInfra Foundation — организации, поддерживающей OpenStack, Kubernetes, Kata Containers, StarlingX и другие проекты. Можно ожидать, что решение будет «обрастать» все большей аудиторией.
Для ценителей NixOS
Openstack-nix представляет собой набор Nix-пакетов и модулей NixOS, позволяющий развертывать и управлять OpenStack в среде NixOS. Проект распространяется под открытой лицензией Apache 2.0. Разработчиком инструментария является немецкая компания Cyberus, специализирующаяся на кибербезе, виртуализации и системном программировании. Инженеры организации также участвуют в развитии CobaltCore — OpenStack-дистрибутива на базе IronCore для поддержки нагрузок, не заточенных под работу в облаке. Команде требовался инструмент для удобной разработки и тестирования в среде OpenStack с использованием NixOS — и они разработали свой.
Одно из преимуществ openstack-nix — возможность проводить локальную отладку тестов. Так, инженеры могут отрабатывать тест-кейсы на своих рабочих станциях, а затем переносить их в CI-конвейер для автоматизированного выполнения. В репозитории проекта можно найти: описания пакетов OpenStack, модули NixOS для ключевых сервисов вроде Keystone, Glance и Nova, а также шаблоны для настройки минимального окружения.
Новый дашборд для экосистемы
Skyline — дашборд для OpenStack с лицензией Apache 2.0. Инструмент предлагает веб-интерфейс для управления сервисами экосистемы. Разработка принадлежит китайскому облачному провайдеру, но опубликована в официальном репозитории OpenStack. Документация по проекту объемная: в ней есть руководство по установке и конфигурации (с готовыми примерами), а также раздел, посвященный управлению инстансами, томами, пользователями и ролями.
Еще из интересного — маскотом проекта является девятицветный олень. Этот образ отсылает к древней буддийской притче. Согласно легенде, волшебный олень спас тонущего мужчину, а тот в благодарность поклялся хранить тайну его убежища. Однако когда мужчина нарушает клятву, он возвращается в «исходное» состояние, где на помощь ему уже не приходят. «Мы надеемся, что Skyline будет таким же элегантным и мощным, как девятицветный олень, и станет полезным инструментом для сообщества OpenStack», — говорят разработчики.
Миграция без даунтайма
Migratekit — это CLI-инструмент, который поможет перенести виртуальные машины с инфраструктуры VMware на OpenStack с минимальным простоем. Решение разработано в прошлом году и распространяется по лицензии Apache 2.0. Его представил канадский облачный провайдер Vexxhost, предлагающий различные хостинговые решения и серверы на базе OpenStack. Согласно документации, процесс миграции состоит из двух этапов:
Фаза миграции. Проводится столько раз, сколько необходимо. В первом цикле migratekit делает копию виртуальной машины в OpenStack-облако, а в последующих — переносит только внесенные изменения.
Фаза переключения. На этом этапе система проверяет, что необходимые ресурсы доступны в облаке, выполняет финальную синхронизацию данных, а затем разворачивает новую виртуальную машину в облаке OpenStack.

Среди недостатков можно отметить отсутствие полноценной документации, но есть объемный README, а также инструкции для тех, кто хочет внести свой вклад.
Еще один инструмент для миграции
OS-migrate — это открытый набор инструментов для параллельной миграции между облаками OpenStack/OpenShift. Параллельная миграция представляет собой один из способов модернизации облачного окружения. Вместо обновления кластера OpenStack «на месте», развёртывается второй кластер, на который переносятся данные. По мере освобождения аппаратных ресурсов их тоже постепенно переводят в новое окружение.
Разработчик проекта — Фернандо Диаз Браво из Red Hat, который занимается проектами, связанными с OpenStack. Сам OS-migrate распространяется под лицензией Apache 2.0. Под капотом OS-migrate представляет собой набор Ansible-плейбуков, обеспечивающих базовую функциональность (хотя в некоторых случаях может потребоваться дополнительная настройка). На их основе можно создавать собственные плейбуки, используя коллекцию ролей и модулей OS-migrate в качестве строительных блоков.
Процесс миграции со всеми необходимыми командами и пояснениями подробно описан в README-файле репозитория (раздел Workflow). Руководство содержит инструкции, которые охватывают создание исходной и целевой сред, настройку образов и сетей, пример файла конфигурации. Есть и более подробная документация — в ней описаны теги и переменные, которые могут понадобиться при миграции. Также выделена секция отладки с наиболее часто встречающимися проблемами и их решениями.
А вы пользовались этими инструментами? Поделитесь в комментариях.
Пара свежих материалов про облачные технологии из блога Linx на Хабре: