Společnost Canonical oznámila dostupnost nástroje MicroCloud, který umožňuje rychlé nasazení výpočetních clusterů a cloudových systémů s sdíleným distribuovaným úložištěm dat a zabezpečenou virtuální sítí na vlastní infrastruktuře. Nástroj je zabalen jako snap balíček a zahrnuje komponenty potřebné pro správu provozu uzlů clusteru. Komerční technická podpora řešení založených na MicroCloud je poskytována v rámci služby Ubuntu Pro, ale ti, kteří se mohou obejít bez podpory, mohou nástroj používat bez omezení. Vývoj projektu byl napsán v jazyce Go a je distribuován pod licencí AGPL 3.0.
MicroCloudy standardně používají prostředky pro zajištění odolnosti, což umožňuje vytváření clusterů s alespoň třemi uzly (maximální počet uzlů byl uveden až do 50). Použitý softwarový stack pro správu clusteru je založen na systému centralizovaného řízení kontejnerů a virtuálních strojů LXD, platformě pro budování virtuálních sítí OVN (Open Virtual Network) a distribuovaném odolném úložišti Ceph. MicroCloudy poskytují nástroje pro automatickou konfiguraci LXD, Ceph a OVN na všech uzlech clusteru.
Pro určení nových serverů v síti, která může být připojena k clusteru, se používá mDNS, což umožňuje nakonfigurovat celý cluster spuštěním jediné příkazu „microcloud init“ na jednom z uzlů, poté, co byly nainstalovány snap balíčky lxd, microceph, microcloud a microovn. Hlavní platforma je považována za distribuci Ubuntu Server, ale nástroj není vázán na Ubuntu a může být použit v jakýchkoli distribucích, pro které je k dispozici možnost instalace snap nástroje (Arch, CentOS, Fedora, Debian, openSUSE, RHEL atd.). Také je možné vytvářet clustery na základě systémů, které využívají atomicky aktualizovaný operační systém Ubuntu Core.
Po spuštění příkazu „microcloud init“ nástroj zjistí přítomnost dalších serverů v lokální síti, vydá požadavek na přidání disků do sdíleného úložného prostoru Ceph a navrhne nastavení parametrů virtuální sítě. Abychom mohli být zahrnuti do clusteru, musí být na serverech předem nainstalovány dříve uvedené snap balíčky. Konfigurace clusteru může být uložena ve formátu YAML pro následné nasazení podobných systémů. Pro přidání dalších uzlů po dokončení inicializace lze použít příkaz „microcloud add“.
Sdílené úložné prostory se vytvářejí se zapnutou replikací a odolností proti poruchám, což umožňuje, že v případě selhání jednotlivých uzlů nedojde k ztrátě dat díky uchovávání několika kopií dat na různých uzlech. Pro nasazení úložiště na bázi Ceph v clusteru musí být kromě místních disků na třech různých počítačích přítomny alespoň tři samostatné disky, určené pro distribuované ukládání dat.
Jakmile je cluster připraven, uživatelé mají možnost spouštět své aplikace pomocí systémových kontejnerů nebo virtuálních strojů, a také mají přístup k sdílenému úložišti Ceph a nástrojům pro centralizované řízení založeným na LXD. Pro správu kontejnerové infrastruktury nad clusterem může být spuštěna platforma Kubernetes (verze Microk8s). Pro autentizaci uživatelů virtuálních strojů nebo kontejnerů v clusteru může být aplikován OpenID Connect (OIDC) a autorizace na bázi OpenFGA.

Je možné flexibilně řídit poskytované zdroje CPU, paměti a vstupu/výstupu, přesměrování USB zařízení, GPU a úložišť do prostředí. Izolovaná a virtuální prostředí mohou být přenášena mezi uzly v režimu živé migrace a uchovávána pomocí snímků. Metriky o výkonu clusteru a log událostí mohou být exportovány pro monitorování pomocí nástrojů Prometheus a Grafana.
Kromě vytváření pracovních clusterů a soukromých cloudových systémů je nástroj také vhodný pro rychlé provádění experimentů na systémech vývojářů. Například, MicroCloud lze použít k simulaci clusteru na notebooku vývojáře, testování rozvíjených cloudových aplikací, experimentování s novými technologiemi nebo simulaci složitých infrastruktur.
Zdroj: opennet.ru
