Canonical представил MicroCloud, инструментарий для быстрого развёртывания кластеров

Компания Canonical объявила о готовности инструментария MicroCloud, позволяющего быстро развёртывать на своём оборудовании вычислительные кластеры и облачные системы с общим распределённым хранилищем данных и защищённой виртуальной сетью. Инструментарий оформлен в виде snap-пакета, включающего компоненты, необходимые для управление работой узлов кластера. Коммерческая техническая поддержка решений на базе MicroCloud предоставляется в рамках сервиса Ubuntu Pro, но те, кто может обойтись без поддержки, могут использовать инструментарий без ограничений. Наработки проекта написаны на языке Go и распространяются под лицензией AGPL 3.0.

MicroClouds по умолчанию применяет средства для обеспечения отказоустойчивости, поэтому позволяет создавать кластеры, насчитывающие не менее трёх узлов (в качестве верхней планки упоминаются кластеры, включающие до 50 узлов). Используемый для управления кластером программный стек основан на использовании системы централизованного управления контейнерами и виртуальными машинами LXD, платформы для построения виртуальных сетей OVN (Open Virtual Network) и распределённого отказоустойчивого хранилища Ceph. MicroClouds предоставляет инструменты для автоматической настройки LXD, Ceph и OVN на всех узлах кластера.

Для определения новых серверов в сети, которые могут быть подключены к кластеру, используется mDNS, что позволяет настроить весь кластер запустив всего одну команду “microcloud init” на одном из узлов, предварительно установив snap-пакеты lxd, microceph, microcloud и microovn. В качестве основной платформы рассматривается дистрибутив Ubuntu Server, но инструментарий не привязан к Ubuntu и может быть использован в любых дистрибутивах, для которых доступна возможность установки инструментария snap (Arch, CentOS, Fedora, Debian, openSUSE, RHEL и т.п.). Также возможно создание кластеров на базе систем, в которых используется атомарно обновляемая ОС Ubuntu Core.

После запуска команды “microcloud init” инструментарий определит наличие других серверов в локальной сети, выдаст запрос на добавление дисков в общее хранилище Ceph и предложит настроить параметры виртуальной сети. Для включения в состав кластера на серверах предварительно должны быть установлены вышеотмеченные snap-пакеты. Конфигурация кластера может быть сохранена в формате YAML для последующего развёртывания аналогичных систем. Для добавления дополнительных узлов после завершения инициализации можно использовать команду “microcloud add”.

Общее файловое хранилище создаётся с включением репликации и отказоустойчивости, позволяющих в случае выхода из строя отдельных узлов не потерять данные, благодаря хранению нескольких экземпляров данных на разных узлах. Для развёртывания хранилища на базе Ceph в кластере, помимо локальных дисков, на трёх разных компьютерах должны присутствовать как минимум три отдельных диска, отведённых для распределённого хранения данных.

После готовности кластера пользователям предоставляется возможность запуска своих приложений, используя системные контейнеры или виртуальные машины, а также доступа к общему хранилищу Ceph и инструментарию централизованного управления на базе LXD. Для управления контейнерами поверх кластера может быть запущена платформа Kubernetes (редакция Microk8s). Для аутентификации пользователей виртуальных машин или контейнеров в кластере может применяться OpenID Connect (OIDC) и авторизация на базе OpenFGA.


Возможно гибкое управление предоставляемыми ресурсами CPU, памяти и ввода/вывода, проброс в окружения USB-устройств, GPU и накопителей. Изолированные и виртуальные окружения могут переноситься между узлами в режиме live-миграции и сохраняться с использованием снапшотов. Метрики о работе кластера и лог событий могут экспортироваться для мониторинга при помощи Prometheus и Grafana.

Кроме создания рабочих кластеров и приватных облачных систем инструментарий также может применяться для быстрого проведения экспериментов на системах разработчиков. Например, MicroCloud может использоваться для симуляции кластера на ноутбуке разработчика для тестирования развиваемых облачных приложений, экспериментов с новыми технологиями или симуляции сложных инфраструктур.

Release. Ссылка here.