Компания Canonical опубликовала инструментарий управления облачной инфраструктурой MicroCloud 2.1, позволяющий быстро развёртывать на своём оборудовании облачные системы и вычислительные кластеры с общим распределённым хранилищем данных и защищённой виртуальной сетью. MicroCloud 2.1 заявлен как первый LTS-выпуск для которого будет обеспечен длительный цикл поддержки. MicroCloud оформлен в виде snap-пакета, включающего компоненты, необходимые для управление работой узлов кластера. Инструментарий написан на языке Go и распространяется под лицензией AGPL 3.0.
MicroClouds позволяет создавать кластеры, насчитывающие от 3 до 50 хостов при включении обеспечения отказоустойчивости и от 1 хоста, если отказоустойчивость не требуется. Программный стек для управления кластером основан на инструментарии LXD, платформе для построения виртуальных сетей OVN (Open Virtual Network) и распределённом отказоустойчивом хранилище Ceph. Настройка LXD, Ceph и OVN на всех узлах кластера осуществляется автоматически. В качестве основной платформы рассматривается дистрибутив Ubuntu Server, но инструментарий не привязан к Ubuntu и может быть использован в любых дистрибутивах, для которых доступна возможность установки инструментария snap (Arch Linux, CentOS, Fedora, Debian, openSUSE, RHEL и т.п.).
Для определения новых серверов в сети, которые могут быть подключены к кластеру, используется mDNS, что позволяет настроить весь кластер запустив всего одну команду “microcloud init” на одном из узлов и команду “sudo microcloud join” на остальных узлах, предварительно установив snap-пакеты lxd, microceph, microcloud и microovn. После запуска команды “microcloud init” инструментарий определит наличие других серверов в локальной сети, выдаст запрос на добавление дисков в общее хранилище Ceph и предложит настроить параметры виртуальной сети. Для добавления дополнительных узлов после завершения инициализации можно использовать команду “microcloud add”. Конфигурация кластера может быть сохранена в формате YAML для последующего развёртывания аналогичных систем.
Общее файловое хранилище создаётся с включением репликации и отказоустойчивости, позволяющих в случае выхода из строя отдельных узлов не потерять данные, благодаря хранению нескольких экземпляров данных на разных узлах. Для развёртывания хранилища на базе Ceph в кластере, помимо локальных дисков, на трёх разных компьютерах должны присутствовать как минимум три отдельных диска, отведённых для распределённого хранения данных.
После готовности кластера пользователям предоставляется возможность запуска своих приложений, используя контейнеры или виртуальные машины, а также возможность доступа к общему хранилищу Ceph и инструментарию централизованного управления на базе LXD. Возможно гибкое управление предоставляемыми ресурсами CPU, памяти и ввода/вывода, проброс в окружения USB-устройств, GPU и накопителей. Изолированные и виртуальные окружения могут переноситься между узлами в режиме live-миграции и сохраняться с использованием снапшотов. Метрики о работе кластера и лог событий могут экспортироваться для мониторинга при помощи Prometheus и Grafana.
В новой версии:
- Предоставлена возможность развёртывания MicroCloud на одном узле
без поддержания отказоустойчивости, что может быть полезным для экспериментов и тестирования на локальной системе перед развёртыванием в рабочем окружении. - Добавлены новые возможности инициализации кластера, позволяющие узлам заранее инициировать процесс установки доверия, не дожидаясь начала процедуры присоединения к кластеру.
- Предоставлена возможность указания дополнительных настроек на этапе инициализации, например, теперь можно выбрать отдельные сетевые интерфейсы для трафика Ceph (для направления через разные интерфейсы данных, требующих низких задержек и высокой пропускной способности), включить шифрование дисков и определить параметры распределённой ФС Ceph.
- Обновлены версии используемых компонентов: LXD 5.21, MicroCeph Squid (Ceph 19.2.0) и MicroOVN 24.04 (Open vSwitch 3.3). Включён по умолчанию пользовательский интерфейс к LXD.