Das freie Werkzeug antMan verspricht den schnellen, unkomplizierten Einstieg in die Welt der privaten Cloud. Dieser Workshop zeigt, wie Admins ein blankes System in die Keimzelle für eine antMan-Cloud verwandeln und von dort aus weiterwachsen. Dabei spielt allerdings das Lizenz-Modell von antMan eine Rolle, denn die freie Community-Version weist deutliche Begrenzungen auf.
Das Bauen einer privaten Cloud ist umständlich und kompliziert. Oft kommt OpenStack zum Einsatz, doch viele OpenStack-Projekte scheitern, weil Unternehmen dessen Komplexität unterschätzen. Hier kommt antMan ins Spiel und verspricht, eine Linux-Distribution speziell für den Aufbau privater Cloudumgebungen zu sein. Dazu setzt es nicht auf OpenStack oder eine andere der großen Open-Source-Anwendungen für private Clouds, sondern braut ein eigenes Süppchen. Das Tool verspricht dabei, dass es genügt, auf einem oder mehreren Systemen antMan zu installieren – der Rest des Setups sei dann leicht und funktioniere weitgehend automatisch.
Ameisen überall
Bevor es los geht, schadet eine kurze Klärung der im Kontext von antMan genutzten Begrifflichkeiten nicht. Denn die sind zum großen Teil frei erfunden und haben alle in irgendeiner Weise was mit dem Thema Ameisen zu tun. Die Wahrscheinlichkeit, dass ein Admin die genutzten Fachtermini kennt, wenn er antMan noch nie genutzt hat, ist also eher gering. Konsequenterweise müssen wir uns zuerst selbst berichtigen, denn antMan ist, anders als im vorherigen Absatz behauptet, streng genommen nicht die Bezeichnung für die dem Produkt zugrunde liegende Linux-Distribution. Unter antMan versteht der Anbieter das gesamte Produkt einerseits, andererseits aber auch die Managementsoftware für die Verwaltung physischer Knoten, die quasi den Produktkern bildet. Wie beschrieben bietet der Hersteller eine eigens auf die Bedürfnisse dieser Distribution speziell angepasste Linux-Dis- tribution namens edgeLinux [1] an. Wichtig ist zudem der Begriff "antHill", also der Ameisenhaufen: Das ist die zentrale Registrierungsseite des Anbieters, auf der sich jede frisch installierte antMan-Instanz mit einem eigenen Produktschlüssel registrieren muss.
Wirklich verwirrend wird es aber jetzt: antMan unterscheidet nämlich obendrein zwischen Antsles und Antlets. Zumindest beim flüchtigen Lesen könnte man diese glatt für dasselbe halten, inhaltlich haben beide aber überhaupt nichts miteinander zu tun. Ein Antlet ist die Bezeichnung für virtuelle Instanzen. Grundsätzlich unterstützt das Produkt einerseits klassische Vollvirtualisierung mittels KVM und Qemu. Andererseits kommt das von Canonical propagierte, am Markt aber nicht sonderlich gut etablierte Container-Format LXC zum Einsatz. Demgegenüber ist Antsle die Bezeichnung für Hardware-Appliances, die der Anbieter im Bundle mit antMan ebenfalls anbietet. Um die kümmern wir uns in diesem Artikel zwar nicht, es schadet aber nicht, den Begriff mal gehört zu haben. Antlets kommen in den Ausführungen "One", "Two" und "Nano" daher und richten sich an unterschiedliche Nutzerkreise. Wer bereits eine antMan-Cloud hat, findet in Antlets jedenfalls eine recht simple Methode, diese zu erweitern, ohne selbst auf die Jagd nach Hardware zu gehen.
Das Bauen einer privaten Cloud ist umständlich und kompliziert. Oft kommt OpenStack zum Einsatz, doch viele OpenStack-Projekte scheitern, weil Unternehmen dessen Komplexität unterschätzen. Hier kommt antMan ins Spiel und verspricht, eine Linux-Distribution speziell für den Aufbau privater Cloudumgebungen zu sein. Dazu setzt es nicht auf OpenStack oder eine andere der großen Open-Source-Anwendungen für private Clouds, sondern braut ein eigenes Süppchen. Das Tool verspricht dabei, dass es genügt, auf einem oder mehreren Systemen antMan zu installieren – der Rest des Setups sei dann leicht und funktioniere weitgehend automatisch.
Ameisen überall
Bevor es los geht, schadet eine kurze Klärung der im Kontext von antMan genutzten Begrifflichkeiten nicht. Denn die sind zum großen Teil frei erfunden und haben alle in irgendeiner Weise was mit dem Thema Ameisen zu tun. Die Wahrscheinlichkeit, dass ein Admin die genutzten Fachtermini kennt, wenn er antMan noch nie genutzt hat, ist also eher gering. Konsequenterweise müssen wir uns zuerst selbst berichtigen, denn antMan ist, anders als im vorherigen Absatz behauptet, streng genommen nicht die Bezeichnung für die dem Produkt zugrunde liegende Linux-Distribution. Unter antMan versteht der Anbieter das gesamte Produkt einerseits, andererseits aber auch die Managementsoftware für die Verwaltung physischer Knoten, die quasi den Produktkern bildet. Wie beschrieben bietet der Hersteller eine eigens auf die Bedürfnisse dieser Distribution speziell angepasste Linux-Dis- tribution namens edgeLinux [1] an. Wichtig ist zudem der Begriff "antHill", also der Ameisenhaufen: Das ist die zentrale Registrierungsseite des Anbieters, auf der sich jede frisch installierte antMan-Instanz mit einem eigenen Produktschlüssel registrieren muss.
Wirklich verwirrend wird es aber jetzt: antMan unterscheidet nämlich obendrein zwischen Antsles und Antlets. Zumindest beim flüchtigen Lesen könnte man diese glatt für dasselbe halten, inhaltlich haben beide aber überhaupt nichts miteinander zu tun. Ein Antlet ist die Bezeichnung für virtuelle Instanzen. Grundsätzlich unterstützt das Produkt einerseits klassische Vollvirtualisierung mittels KVM und Qemu. Andererseits kommt das von Canonical propagierte, am Markt aber nicht sonderlich gut etablierte Container-Format LXC zum Einsatz. Demgegenüber ist Antsle die Bezeichnung für Hardware-Appliances, die der Anbieter im Bundle mit antMan ebenfalls anbietet. Um die kümmern wir uns in diesem Artikel zwar nicht, es schadet aber nicht, den Begriff mal gehört zu haben. Antlets kommen in den Ausführungen "One", "Two" und "Nano" daher und richten sich an unterschiedliche Nutzerkreise. Wer bereits eine antMan-Cloud hat, findet in Antlets jedenfalls eine recht simple Methode, diese zu erweitern, ohne selbst auf die Jagd nach Hardware zu gehen.
Installation vorbereiten
In unserem Beispiel gehen wir im Folgenden davon aus, dass ein physischer Server mit einer Acht-Kern-CPU, 128 GByte RAM sowie insgesamt 4 TByte Festplattenspeicher (als RAID 1) zur Verfügung steht. Der Einfachheit halber ist die Annahme ferner, dass direkter Zugriff auf den Computer per Tastatur und Monitor möglich ist. Wenn das entsprechende Gerät sich per IPMI, DRAC, iLO oder IBM RSA aus der Ferne steuern lässt, ist das natürlich ebenso eine – allerdings ohnehin vom Betriebssystem unabhängige – Möglichkeit zur Steuerung. Der Server sollte über zumindest eine Netzwerkkarte mit viel Bandbreite und idealerweise auch redundanter Anbindung verfügen, denn diese wird als Brücke später alle Netzwerkverbindungen der gehosteten Antlets realisieren.
Der erste Schritt besteht darin, die ISO-Datei herunterzuladen, die sowohl edgeLinux als auch antMan installiert. Den Download-Link bekommen Sie nur vom Hersteller und weil dieser eine dynamische ID in ihn kodiert, lässt er sich an dieser Stelle auch nicht mit Ihnen teilen. Sie müssen sich stattdessen auf der Website des Anbieters [1] selbst mit Ihrer E-Mail-Adresse registrieren und bekommen den Link dann zugeschickt. Das antMan-Paket umfasst rund 3,1 GByte. Danach folgt zunächst ein Ihnen vermutlich bekanntes Schema F: Die ISO-Datei muss irgendwie auf eine DVD oder einen USB-Stick. Die meisten Server werden heute ab Werk ohne optisches Laufwerk ausgeliefert, sodass USB die wahrscheinlichere Variante ist, die wir im Folgenden vorstellen.
Obwohl die Themen USB und ISO eigentlich nicht neu sind, kommt es vielerorts immer wieder zu Problemen, wenn von USB-Sticks mit applizierter ISO-Datei gebootet werden soll. Das liegt nicht zuletzt daran, dass USB-Sticks sich als Bootmedien im Detail anders verhalten als es etwa bei CD-ROMs der Fall ist. Obendrein spielt eine Rolle, ob auf dem Zielsystem UEFI aktiviert ist oder nicht. Für alle Fälle sei dringend angeraten, das freie Werkzeug Etcher [2] zu verwenden, um die ISO-Datei auf den USB-Stick zu bügeln. Es soll dabei die obligatorische Warnung nicht fehlen, dass Etcher alle Inhalte des USB-Sticks vor dem Schreiben der ISO-Datei löscht. In den allermeisten Fällen hinterlässt Etcher aber einen USB-Stick, den Server als bootbares Gerät erkennen.
Bild 1: Der edgeLinux-Installer ist ein Fork des CentOS-Installers und birgt einige potenzielle Fallstricke. Insbesondere das Setup der Partitionen sollte passen, denn sonst steht für die Antlets später kein Plattenplatz bereit.
edgeLinux installieren
Nun starten Sie das Zielsystem, das Ihr erster antMan-Knoten werden soll, vom USB-Stick. Zwar ist edgeLinux eine Sonderentwicklung von antMan für die eigene Virtualisierungslösung, doch unter der Haube werkelt erkennbar ein – wenn auch nicht mehr ganz frisches – CentOS. Haben Sie also schon einmal Red Hat Enterprise Linux (RHEL) oder CentOS installiert, wird der Vorgang Sie kaum vor unüberwindbare Hürden stellen. Und selbst falls Sie in Sachen RHEL und CentOS noch keine Erfahrung haben, sollte die Installation leicht von der Hand gehen.
Wichtig ist, und darauf weisen auch die Macher von antMan und EdgeLinux explizit hin, dass Sie vom System gemachte Vorschläge hinsichtlich der genutzten Partitionierung unbedingt übernehmen. Außerdem sollten Sie, falls das System mit edgeLinux und antMan eine statische IP-Adresse im lokalen Netz bekommen soll, diese unbedingt erst nach der Installation in der antMan-Konfiguration hinterlegen, statt bereits während der Installation des Betriebssystems.
Falls der Partitionierer von edgeLinux Ihnen keinen Vorschlag für die Partitionierung der Systemfestplatte unterbreitet, gehen Sie so vor: Legen Sie eine 1024 MByte große Partition für "/boot" sowie eine 20 GByte große Partition für "/" an. Den restlichen Platz lassen Sie unpartitioniert, um diesen kümmert antMan sich später selbst. Notabene: Unser Beispiel geht davon aus, dass das System mit einem RAID-Controller ausgestattet ist, der das geforderte RAID-1 auf der Hardwareebene implementiert. Zwar unterstützt egdeLinux durchaus auch Software-RAID-1, dieses müssen Sie bei der Datenträgerpartitionierung im Rahmen des Setups aber selbst konfigurieren.
Stellen Sie zudem sicher, dass Sie während der Installation der Systempakete ein Passwort für den Benutzer "root" anlegen. Merken Sie sich das genutzte Passwort gut, denn einen zusätzlichen Benutzer mit "sudo"-Rechten legt edgeLinux während seiner Installation nicht an. Wenn Sie das Passwort also vergessen, müssen Sie den Vorgang von vorne beginnen.
Unser Beispiel geht ferner davon aus, dass nach der Installation eine Netzwerkverbindung des frisch installierten Systems ins Internet gegeben ist. Loggen Sie sich dann nach dem Reboot des Systems mit "root" und dem festgelegten Passwort ein und warten Sie ein paar Sekunden, denn edgeLinux ist so konfiguriert, dass beim ersten Login als "root" nach der Installation der hauseigene antMan-Installer automatisch losläuft und einige Einstellungen vornimmt. Unter anderem führt das Programm eine Systemaktualisierung durch und leitet Sie durch die Einrichtung des Storage-Pools für ZFS. Hier geben Sie im zweiten Schritt (nach der Update-Installation) lediglich die Nummer des Datenträgers an, dessen freier Speicherplatz genutzt werden soll. Wenn Ihr System nur einen (virtuellen, weil auf RAID-1 basierten) Datenträger hat, ist die Auswahl entsprechend trivial. Die Anzeige auf dem Bildschirm verrät, dass im Anschluss Ansible losläuft und diverse Systemeinstellungen ändert. Am Ende des Vorgangs möchte edgeLinux nochmals rebooten, was Sie mittels "yes" quittieren. Das Setup ist damit abgeschlossen.
Bild 2: Der "Network"-Abschnitt des antMan-Webinterfaces gibt unmittelbaren Zugriff auf alle relevanten Hebel und Schalter, die mit dem Thema Netz zusammenhängen.
antMan erreichen
Bis antMan selbst nutzbar ist, sind noch ein paar Arbeitsschritte nötig – und manche davon muten einigermaßen seltsam an. Die nächste Phase etwa hängt davon ab, welches Gerät Sie benutzen, um auf antMan zuzugreifen. Zur Erklärung: antMan setzt ausschließlich auf eine webbasierte GUI, lässt sich also nur per Browser steuern, falls Sie nicht unmittelbar die APIs samt den zugehörigen CLI-Werkzeugen nutzen wollen. Unter macOS oder Linux können Sie diesen folgenden Schritt überspringen, geben einfach "http://myantsle.local" in Ihren Browser ein und Sie sollten die Konfigurationsschnittstelle von Antle sehen.
Nutzen Sie Windows, funktioniert dieser Vorgang seit Windows 10 nicht mehr einwandfrei. Dann haben Sie zwei Möglichkeiten: Entweder geben Sie auf dem Server als "root" den Befehl ip a ein und verbinden sich per Browser mit der angezeigten IP-Adresse auf Port 3000. Oder Sie laden sich von Apple die aktuelle Version von iTunes für Windows oder der Bonjour Printing Services [3] herunter. Denn das Problem, das in aktuellen Windows-Versionen dafür sorgt, dass die URL "http://myantsle.local" nicht mehr funktioniert, liegt im Bonjour-Code des Betriebssystems und lässt sich nur durch korrigierte Software von Apple reparieren. So oder so, am Ende dieses Schrittes sollten Sie die Login-Seite von Antle auf dem Schirm haben. Geben Sie die Benutzerdaten des Systems ein, also "root" sowie das eben vergebene Passwort.
Was nun folgt, nennt der Anbieter "antMan Onboarding". Grundsätzlich gilt, dass jede Instanz der Software, auch wenn sie die kostenlose Community-Edition nutzt, sich am antHill anmelden muss. Sonst ist das Starten von Antlets nicht möglich. Wichtig ist dabei auch, dass Sie im angezeigten Menü die richtige Option auswählen. Haben Sie auf demselben System in der Vergangenheit bereits edgeLinux und antMan installiert, wählen Sie unbedingt "Reinstall with existing serial number" aus, denn sonst erhalten Sie eine Fehlermeldung, dass für dieses System mit dieser Seriennummer bereits eine antMan-Subskription existiert.
Die erste Instanz starten
Das abgeschlossene edgeLinux-Setup versetzt Sie nun in die Lage, antMan zum Betrieb virtueller Instanzen zu verwenden. Weil dieses Beispiel lediglich die freie Community-Version von antMan aufgreift, gibt es bei vielen Konfigurationsparametern kaum Spielraum. Der Betrieb von Software-defined Networking etwa ist in der Free-Edition praktisch unmöglich, weil weder VxLAN oder VLAN zu den unterstützten Funktionen gehören noch Trunk-Anschlüsse. Entsprechend ist es auch um die Mandantenfähigkeit Ihrer Ein-Knoten-Wolke eher mau bestellt. Das beschriebene Setup eignet sich am besten für ein einzelnes Unternehmen, das eigene Workloads ohne physische oder logische Trennung betreiben will. Für diese definiert antMan ab Werk ein eigenes Netz, den "Antlet Address Space", aus dem die in Antlet laufenden virtuellen Instanzen eine IP-Adresse erhalten. Den Zugriff von außen realisiert die Software entweder per Loadbalancer oder per Port-Forwarding in Libvirt. Auch in Sachen Storage bietet die Community-Edition eher wenig Spielraum. Im vorherigen Schritt haben Sie einen ZFS-Pool angelegt, aus dem antMan im weiteren Verlauf den Speicher für Ihre virtuellen Instanzen beziehen wird.
Netz und Speicher sind mithin bereits für Sie angelegt, doch fehlt noch ein Betriebssystem zur ersten virtuellen Instanz. Hier leistet antMan ganze Arbeit und stattet das eigene Produkt mit einer Vielzahl von sofort lauffähigen Templates aus. Zur Auswahl stehen dabei die gängigsten Linux-Distributionen wie Ubuntu 20.04 oder Debian GNU/Linux 11 ebenso wie diverse Varianten von Windows Server. Sollten Sie diese nutzen wollen, müssen Sie abseits von antMan dafür natürlich eine Lizenz erwerben. Außerdem fällt auf, dass einige der Templates in der Liste bereits etwas angestaubt sind und neuere Optionen fehlen. Ubuntu 22.04 etwa wäre ebenso wünschenswert wie CentOS 8, doch beide finden sich nicht. Stattdessen steht ein aktuelles Windows-11-Abbild zur Verfügung.
Um nun ein Antlet zu erstellen, klicken Sie oben rechts auf "Create". Geben Sie einen Namen für den Server ein und wählen Sie ein Template aus. Hier entscheidet sich, ob Sie eine vollvirtualisierte VM mit KVM anlegen oder einen Container mit LXC. Die Auswahl ist später ohne komplette Neuerstellung der Instanz nicht änderbar, sodass Sie dringend darauf achten müssen, hier die richtige Auswahl zu treffen. Bei den Angaben für RAM, vCPUs, der IP-Adresse sowie dem Zpool übernehmen Sie die Standardwerte. Beim Wert "Compression" will antMan wissen, ob es für das anzulegende ZFS-Volume die Kompression aktivieren soll. Das spart Platz, frisst aber CPU-Zeit. Ab Werk ist die Funktion deaktiviert. Übernehmen Sie hier den Standardwert "Inherit", erbt das neue ZFS-Volume diesen vom Pool.
Danach legt antMan die neue Instanz an und konfiguriert sie wie gewünscht, startet sie aber nicht. Im nächsten Schritt klicken Sie deshalb links auf "antlets" und dann neben der gerade angelegten Instanz auf "Start". Danach erwacht die VM zum Leben. Nach einer kurzen Phase der Wartezeit kann der Login erfolgen. Alle Antlet-Templates nutzen "root" und "antlet" als Standard-Kombination für den Benutzernamen und das Passwort.
Bridging und virtuelle NICs
Reicht Ihnen das etwas starre Netzwerkkonzept von antMan in der Standardkonfiguration nicht aus, können Sie komplementär dazu Bridging einrichten. Dann fungiert die physische Netzwerkkarte des Systems als Brücke und verbindet virtuelle Instanzen unmittelbar mit dem Rest des physischen Netzes. Die erste konfigurierte Netzwerkkarte in antMan ist stets ab Werk als Bridge konfiguriert. Sie sehen ihre Konfiguration ein, indem Sie links auf "Network" und dann auf "Interfaces" klicken. Falls Ihre NIC eine statische Adresse bekommen soll, ist hier der richtige Ort, um diese einzutragen.
Danach konfigurieren Sie für jede Instanz, die diese Bridge nutzen soll, eine zusätzliche virtuelle NIC, die unmittelbar mit der Brücke verbunden ist. Dazu klicken Sie in den Details des Antlets auf den Punkt "Virtual Network", wo üblicherweise die erste, lokale Schnittstelle hinterlegt ist. Fügen Sie eine weitere Schnittstelle mit "+ New virtual NIC" hinzu, wählen Sie das Bridge-Interface aus und lassen Sie das Modell auf "VirtIO" für Linux sowie "e1000" für Windows stehen. Klicken Sie auf "Create Virtual Nic" und starten Sie danach das Antlet neu. In der VM taucht dann eine neue Netzwerkkarte auf, mit deren Konfiguration antMan aber nichts mehr zu tun hat. Stattdessen richten Sie dieser Schnittstelle entweder statisch eine IP-Adresse ein oder greifen auf einen DHCP-Server außerhalb antMans zurück, der im lokalen Netz ohnehin läuft.
Das antMan-Preismodell
So wie eine Schwalbe noch keinen Sommer macht, macht eine einzelne Instanz aus edgeLinux und antMan freilich noch keine private Cloud. Die ganze Idee hinter einer Cloud besteht schließlich darin, nahtlos in die Breite zu skalieren. Genau das geht bei antMan aber nur sinnvoll, wenn der IT-Verantwortliche dem Anbieter Geld überweist. Denn ansonsten ist nach der ersten installierten Instanz Schluss. Zwar lassen sich mehrere antMan-Knoten ausrollen, doch haben Sie dann viele einzelne Mini-Clouds statt eines Verbundes.
Die gute Nachricht ist: antMan verpflichtet Administratoren mittlerweile nicht mehr dazu, die Antsle-Hardware zu kaufen. Stattdessen steht es Ihnen frei, eigene Hardware mit antMan-Lizenzen zu kombinieren. Dabei hat der Anbieter sich ein dreistufiges Subskriptionsmodell oberhalb der freien Community-Edition überlegt. Das Essential-Paket bietet für 29 US-Dollar pro CPU mit maximal 12 Kernen im Monat immerhin SDN-Support für interne VLANs, funktionale Patches, Backups und drei Supporttickets beim Hersteller pro Jahr.
All das umfasst auch die "Grow"-Lizenz, die SDN-Trunks, Clustering auf der Antlet-Ebene, Loadbalancer und zehn Tickets pro Jahr enthält. Sie schlägt mit 149 US-Dollar pro Monat zu Buche. Die "Scale"-Option schließlich kostet 599 US-Dollar pro Monat, bietet LDAP-Unterstützung, kann VMs aus privaten Clouds in die von antMan ebenfalls betriebene Public Cloud umziehen, um sie kurzfristig verfügbar zu machen, und bietet eine unlimitierte Anzahl an Supporttickets. Obendrein bekommt man mit der "Scale"-Subskription Rabatte auf die antMan-Appliances.
Die Aufteilung der Features in die verschiedenen Subskriptionstypen gibt durchaus Grund zur Kritik. Insbesondere der Umstand, dass LDAP nur in der teuren Scale-Option verfügbar ist, macht antMan für viele KMUs unattraktiv. Längst finden sich große LDAP- oder Active-Directory-Strukturen nicht mehr nur im Großkonzern. Damit sich dieses in antMan nutzen lässt, ist jedoch absurd tief in die Tasche zu greifen.
Bild 3: Die erste gefundene Ethernet-Schnittstelle nutzt grundsätzlich eine Bridge, in die sich neue VMs einklinken können.
Fazit
Die antMan-Software funktioniert gut und führt den Administrator in kurzer Zeit von nacktem Blech zu einem Virtualisierungsknoten, der sich aus der Ferne und über APIs sinnvoll steuern lässt. Soll aus dieser Keimzelle eine echte private Cloud werden, werden pro zusätzlichem Knoten mindestens 29 US-Dollar pro Monat fällig, wenn Sie auf LDAP verzichten.
Insgesamt richtet antMan sich eher an kleinere Unternehmen. Denn der Support für externe skalierbare Speicher etwa ist nicht ohne weiteres gegeben, weil antMan im Falle eines Falles lieber selbst einen Ceph-Cluster über die Festplatten der bekannten Compute-Knoten ausrollen will. Solch ein "Hyperconverged Setup" eignet sich besonders für Einsatzszenarien, die mit möglichst wenig Hardware auskommen wollen.
In der Praxis birgt es allerdings auch manchen Nachteil. Ähnlich sieht es bei diversen anderen Funktionen aus, die Anwendungen wie OpenStack gänzlich anders angehen.Wer allerdings auf der Suche nach einem möglichst einfachem Werkzeug ist, um ein paar VMs mit funktionaler API zu betreiben, ist bei antMan richtig.