MicroClouds по умолчанию применяет средства для обеспечения отказоустойчивости, поэтому позволяет создавать кластеры, насчитывающие не менее трёх узлов (в качестве верхней планки упоминаются кластеры, включающие до 50 узлов). Используемый для управления кластером программный стек основан на использовании системы централизованного управления контейнерами и виртуальными машинами LXD, платформы для построения виртуальных сетей OVN (Open Virtual Network) и распределённого отказоустойчивого хранилища Ceph. MicroClouds предоставляет инструменты для автоматической настройки LXD, Ceph и OVN на всех узлах кластера.
Для определения новых серверов в сети, которые могут быть подключены к кластеру, используется mDNS, что позволяет настроить весь кластер запустив всего одну команду «microcloud init» на одном из узлов, предварительно установив snap-пакеты lxd, microceph, microcloud и microovn. В качестве основной платформы рассматривается Ubuntu Linux, но инструментарий не привязан к 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 может использоваться для симуляции кластера на ноутбуке разработчика для тестирования развиваемых облачных приложений, экспериментов с новыми технологиями или симуляции сложных инфраструктур.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60137