Canonical har annonceret tilgængeligheden af MicroCloud værktøjet, der muliggør hurtig udrulning af compute-klynger og cloud-systemer med delt datalagring og et sikkert virtuelt netværk på ens eget udstyr. Værktøjet leveres som en snap-pakke, der inkluderer de komponenter, der er nødvendige for at styre arbejdet i klyngeknuderne. Kommerciel teknisk support for løsninger baseret på MicroCloud tilbydes gennem Ubuntu Pro-servicen, men dem, der kan klare sig uden support, kan bruge værktøjet uden begrænsninger. Projektets arbejde er skrevet i Go-sprog og distribueres under AGPL 3.0 licensen.
MicroClouds anvender som standard midler til at sikre fejltolerance, hvilket gør det muligt at oprette klynger med mindst tre knuder (den øvre grænse nævner klynger med op til 50 knuder). Den softwarestak, der bruges til at styre klyngen, er baseret på et centralt styringssystem for containere og virtuelle maskiner LXD, en platform til at bygge virtuelle netværk OVN (Open Virtual Network) og distribueret fejltolerant lagring Ceph. MicroClouds giver værktøjer til automatisk konfiguration af LXD, Ceph og OVN på alle klyngeknuder.
For at identificere af nye servere i netværket, der kan tilsluttes klyngen, anvendes mDNS, hvilket gør det muligt at konfigurere hele klyngen ved at køre blot én kommando „microcloud init“ på en af knuderne, efter først at have installeret snap-pakkerne lxd, microceph, microcloud og microovn. Som den primære platform betragtes Ubuntu Server-distributionen, men værktøjet er ikke bundet til Ubuntu og kan bruges på enhver distribution, hvor installation af snap-værktøjet er tilgængeligt (Arch, CentOS, Fedora, Debian, openSUSE, RHEL osv.). Det er også muligt at oprette klynger baseret på systemer, der anvender atomisk opdateret OS Ubuntu Core.
Efter at have kørt kommandoen „microcloud init“ vil værktøjet identificere tilstedeværelsen af andre servere i det lokale netværk, anmode om at tilføje diske til det fælles Ceph-lager og tilbyde at konfigurere indstillingerne for det virtuelle netværk. For at blive en del af klyngen skal de nævnte snap-pakker først være installeret på serverne. Klyngekonfigurationen kan gemmes i YAML-format til senere udrulning af lignende systemer. For at tilføje yderligere noder efter afslutningen af initialiseringen kan man bruge kommandoen „microcloud add“.
Det fælles filsystem oprettes med aktiveret replikation og fejltolerance, som sikrer, at data ikke går tabt i tilfælde af, at enkelte noder fejler, ved at gemme flere eksemplarer af data på forskellige noder. For at implementere et lagersystem baseret på Ceph i klyngen, skal der ud over de lokale diske også være mindst tre separate diske, der er afsat til distribueret datalagring, på tre forskellige computere.
Når klyngen er klar, får brugerne mulighed for at køre deres applikationer ved hjælp af systemcontainere eller virtuelle maskiner, samt få adgang til det fælles Ceph-lager og det centraliserede administrationsværktøj baseret på LXD. Platformen Kubernetes (Microk8s-versionen) kan køre oven på klyngen for at styre containerinfrastrukturen. For brugerautentifikation virtual machines eller containere i klyngen kan OpenID Connect (OIDC) anvendes til autentifikation og autorisation baseret på OpenFGA.

Der er mulighed for fleksibel styring af de tildelte ressourcer CPU, hukommelse og input/output, videregivelse af USB-enheder, GPU'er og lagringsenheder til miljøerne. Isolerede og virtuelle miljøer kan flyttes mellem noderne i live-migreringstilstand og gemmes ved hjælp af snapshots. Metrikker om klyngens ydeevne og hændelseslogge kan eksporteret til overvågning ved hjælp af Prometheus og Grafana.
Ud over at skabe arbejdsklynger og private cloud-systemer er værktøjet også egnet til hurtigt at udføre eksperimenter på udviklerens systemer. For eksempel kan MicroCloud bruges til at simulere en klynge på udviklerens bærbare computer, teste udviklede cloud-applikationer, eksperimentere med nye teknologier eller simulere komplekse infrastrukturer.
Kilde: opennet.ru
