Canonical heeft de gereedschappen van MicroCloud aangekondigd, waarmee gebruikers snel computerk clusters en cloudsystemen kunnen implementeren op hun eigen hardware, met gedeeld gedistribueerd opslag en een beveiligd virtueel netwerk. De toolset is beschikbaar in de vorm van een snap-pakket dat de benodigde componenten bevat voor het beheer van de clusterknooppunten. Commerciële technische ondersteuning voor oplossingen op basis van MicroCloud wordt aangeboden via de Ubuntu Pro-service, maar degenen die zonder ondersteuning kunnen, kunnen de tools zonder beperkingen gebruiken. De projectresultaten zijn geschreven in de programmeertaal Go en worden verspreid onder de AGPL 3.0-licentie.
MicroClouds maakt standaard gebruik van middelen voor fouttolerantie, waardoor het mogelijk is om clusters te creëren met ten minste drie knooppunten (met als bovengrens clusters die tot 50 knooppunten omvatten). De gebruikte softwarestack voor clusterbeheer is gebaseerd op een systeem voor gecentraliseerd beheer van containers en virtuele machines, LXD, het platform voor het opzetten van virtuele netwerken, OVN (Open Virtual Network), en de gedistribueerde fouttolerante opslag Ceph. MicroClouds biedt hulpmiddelen voor automatische configuratie van LXD, Ceph en OVN op alle knooppunten van het cluster.
Voor het bepalen nieuwe servers van netwerken die aan het cluster kunnen worden gekoppeld, wordt mDNS gebruikt, waardoor de configuratie van het hele cluster kan worden uitgevoerd door slechts één opdracht "microcloud init" op een van de knooppunten uit te voeren, nadat de snap-pakketten lxd, microceph, microcloud en microovn zijn geïnstalleerd. De primaire focus ligt op de Ubuntu Server-distributie, maar de toolset is niet gebonden aan Ubuntu en kan worden gebruikt op elke distributie waar de snap-toolset beschikbaar is (Arch, CentOS, Fedora, Debian, openSUSE, RHEL, enz.). Het is ook mogelijk om clusters te creëren op systemen die een atomair bijgewerkte OS, zoals Ubuntu Core, gebruiken.
Na het uitvoeren van het commando «microcloud init» zal de toolkit detecteren of er andere servers in het lokale netwerk zijn, verzoeken om schijven toe te voegen aan de gezamenlijke Ceph-opslag en voorstellen om de parameters van het virtuele netwerk in te stellen. Voor opname in het cluster moeten op de servers vooraf de eerder genoemde snap-pakketten zijn geïnstalleerd. De clusterconfiguratie kan worden opgeslagen in YAML-indeling voor toekomstige implementatie van vergelijkbare systemen. Voor het toevoegen van extra knooppunten na het beëindigen van de initialisatie kan het commando «microcloud add» worden gebruikt.
Algemene bestandsopslag wordt gemaakt met replicatie en fouttolerantie ingeschakeld, waardoor gegevens niet verloren gaan bij het uitvallen van afzonderlijke knooppunten, dankzij de opslag van meerdere gegevensinstanties op verschillende knooppunten. Voor het implementeren van opslag op basis van Ceph in een cluster, moeten er naast lokale schijven minstens drie afzonderlijke schijven op drie verschillende computers zijn, toegewezen voor gedistribueerde gegevensopslag.
Na de gereedheid van het cluster krijgen gebruikers de mogelijkheid om hun toepassingen te starten, gebruikmakend van systeemcontainers of virtuele machines, evenals toegang tot de gedeelde Ceph-opslag en het centraal beheertoolsysteem op basis van LXD. Voor het beheren van de containerinfrastructuur bovenop het cluster kan het Kubernetes-platform (Microk8s-editie) worden gestart. Voor gebruikersauthenticatie virtuele machines of containers binnen het cluster kan OpenID Connect (OIDC) worden toegepast en autorisatie op basis van OpenFGA.

Flexibele beheer van de aangeboden middelen zoals CPU, geheugen en I/O is mogelijk, evenals doorvoer naar USB-apparaatomgevingen, GPU's en opslag. Geïsoleerde en virtuele omgevingen kunnen tussen knooppunten worden verplaatst in live-migratiemodus en worden opgeslagen met behulp van snapshots. Metingen van de werking van het cluster en logboeken van evenementen kunnen worden geëxporteerd voor monitoring met behulp van Prometheus en Grafana.
Naast het creëren van werkclusters en private cloudsystemen is de toolkit ook geschikt voor snelle experimenten op ontwikkelaarsystemen. Bijvoorbeeld, MicroCloud kan worden gebruikt om een cluster te simuleren op de laptop van de ontwikkelaar, cloudapplicaties in ontwikkeling te testen, te experimenteren met nieuwe technologieën of complexe infrastructuren te simuleren.
Bron: opennet.ru
