Das Unternehmen Canonical hat die Markteinführung des MicroCloud-Tools angekündigt, das eine schnelle Bereitstellung von Rechenclustern und Cloud-Systemen mit gemeinsam genutztem, verteiltem Datenspeicher und einem sicheren virtuellen Netzwerk auf eigener Hardware ermöglicht. Das Tool ist in Form eines Snap-Pakets verfügbar, das die nötigen Komponenten zur Verwaltung der Clusterknoten enthält. Kommerzielle technische Unterstützung für Lösungen auf Basis von MicroCloud wird im Rahmen des Ubuntu Pro-Services angeboten, aber diejenigen, die auf Unterstützung verzichten können, dürfen das Tool ohne Einschränkungen nutzen. Die Entwicklung des Projekts ist in Go geschrieben und wird unter der AGPL 3.0 Lizenz vertrieben.
MicroClouds setzt standardmäßig Maßnahmen für die Ausfallsicherheit ein und ermöglicht die Erstellung von Clustern mit mindestens drei Knoten (Cluster mit bis zu 50 Knoten werden als Obergrenze genannt). Der für die Clusterverwaltung verwendete Software-Stack basiert auf einem zentralisierten System zur Verwaltung von Containern und virtuellen Maschinen (LXD), einer Plattform für den Aufbau virtueller Netzwerke (OVN - Open Virtual Network) sowie einem verteilten, ausfallsicheren Speicher (Ceph). MicroClouds stellt Werkzeuge zur automatischen Konfiguration von LXD, Ceph und OVN auf allen Knoten des Clusters bereit.
Zur Bestimmung neuer Server In Netzwerken, die mit dem Cluster verbunden werden können, wird mDNS verwendet, wodurch der gesamte Cluster mit nur einem Befehl "microcloud init" auf einem der Knoten eingerichtet werden kann, nachdem die Snap-Pakete lxd, microceph, microcloud und microovn installiert wurden. Als Hauptplattform wird das Betriebssystem Ubuntu Server betrachtet, aber das Toolset ist nicht an Ubuntu gebunden und kann auch auf anderen Distributionen verwendet werden, auf denen die Installation von Snap-Tools möglich ist (Arch, CentOS, Fedora, Debian, openSUSE, RHEL usw.). Außerdem ist es möglich, Cluster auf Systemen zu erstellen, die ein atomar aktualisierbares Betriebssystem wie Ubuntu Core verwenden.
Nach dem Befehl „microcloud init“ wird das Tool andere Server im lokalen Netzwerk erkennen, eine Aufforderung zur Hinzufügung von Festplatten zum gemeinsamen Ceph-Speicher ausgeben und die Konfiguration der virtuellen Netzwerke anbieten. Um Teil des Clusters zu werden, müssen auf den Servern zuvor die genannten Snap-Pakete installiert sein. Die Clusterkonfiguration kann im YAML-Format gespeichert werden, um später ähnliche Systeme bereitzustellen. Um zusätzliche Knoten nach Abschluss der Initialisierung hinzuzufügen, kann der Befehl „microcloud add“ verwendet werden.
Der gemeinsame Dateispeicher wird mit Replikation und Fehlertoleranz eingerichtet, die es ermöglichen, im Falle eines Ausfalls einzelner Knoten keine Daten zu verlieren, da mehrere Datenkopien auf verschiedenen Knoten gespeichert werden. Für die Bereitstellung des Speicherplatzes auf Basis von Ceph im Cluster müssen neben den lokalen Festplatten mindestens drei separate Festplatten, die für die verteilte Datenspeicherung vorgesehen sind, auf drei verschiedenen Rechnern vorhanden sein.
Nach der Bereitstellung des Clusters haben die Benutzer die Möglichkeit, ihre Anwendungen über Systemcontainer oder virtuelle Maschinen zu starten, sowie auf den gemeinsamen Ceph-Speicher und das zentrale Verwaltungs-Toolkit auf Basis von LXD zuzugreifen. Zur Verwaltung der Containerinfrastruktur auf dem Cluster kann die Kubernetes-Plattform (Microk8s-Edition) gestartet werden. Für die Benutzerauthentifizierung virtuellen Maschinen oder Container im Cluster kann OpenID Connect (OIDC) angewendet werden, ergänzt durch autorisierte Zugriffe über OpenFGA.

Es ist ein flexibles Management der bereitgestellten Ressourcen für CPU, Arbeitsspeicher und I/O möglich, einschließlich der USB-Device-Passthrough-Umgebungen, GPU und Speichermedien. Isolierte und virtuelle Umgebungen können zwischen Knoten im Live-Migrationsmodus übertragen und mit Snapshots gespeichert werden. Metriken zur Clusterleistung und Ereignisprotokolle können zur Überwachung mithilfe von Prometheus und Grafana exportiert werden.
Neben der Erstellung von Arbeitsclustern und privaten Cloud-Systemen ist das Tool auch für schnelle Experimente auf Entwicklersystemen geeignet. Zum Beispiel kann MicroCloud verwendet werden, um einen Cluster auf dem Laptop eines Entwicklers zu simulieren, Cloud-Anwendungen zu testen oder mit neuen Technologien zu experimentieren sowie komplexe Infrastrukturen zu simulieren.
Quelle: opennet.ru
