Multipass von Canonical erzeugt virtuelle Maschinen einfacher als jedes andere Tool – vorkonfiguriert per „cloud-initׅ“. Sogar ein Kubernetes-Cluster ist nur einen Befehl entfernt.
Multipass erzeugt auf Knopfdruck eine VM-basierte Multi-Cloud-Umgebung.
Wer mal eben eine Testumgebung für Cloud-Anwendungen benötigt, mehrere Instanzen eines Anwendungsservers, ein Kubernetes-Cluster oder vielleicht eine Docker-Umgebung, für den wird Multipass vielleicht zum neuen Lieblingsspielzeug. Die Basisfunktion von Canonicals kleinem Helferlein ist im Grunde simpel: Multipass erstellt virtuelle Maschinen mit Ubuntu als Betriebssystem.
Für die Virtualisierung sorgt im Hintergrund VirtualBox oder auch die Windows-eigene Lösung Hyper-V. Natürlich werden die VMs standardmäßig headless, also ohne grafischen Desktop, angelegt – schließlich geht es hier um Server. Genauer gesagt: Cloud Instances, denn im Grunde will Multipass vor allem Cloud-Test- und -Entwicklungsumgebungen mit kleinstmöglichem Aufwand bereitstellen.
Das eigentliche Ergebnis dieser Basisfunktion, also ein Headless-Ubuntu-Host, ließe sich natürlich auch mit VirtualBox direkt anlegen, allerdings mit einigen Mühen. Wer so etwas schneller realisieren möchte, greift in der Regel eher zu Containern, dort genügt ein schlichtes „docker run ubuntu_XYZ“, um einen Server aufzusetzen.
Mit Multipass geht das aber noch simpler, hier genügen sogar zwei Eingaben: „multipass launch“ erzeugt eine Standard-VM, vorkonfiguriert und mit der aktuellen Ubuntu-LTS-Version versehen. Bis hierher erstellt Multipass also VMs so einfach, wie es bislang eher Containern vorbehalten war.
Die weitere Grundkonfiguration ist sogar noch simpler: Müssen bei Containern für Netzwerk-Zugriffe noch Ports exponiert werden, können die Multipass-VMs beispielsweise direkt ins normale LAN gesetzt werden, wo sie automatisch IP-Adressen über den nächsten DHCP-Server beziehen. Auch das Ausführen von Befehlen innerhalb der VMs oder das Mounten von Ordnern des Hosts erinnert sehr an die Arbeit mit Containern, allerdings mit denkbar einfacher Syntax (später mehr dazu).
Multipass kann aber mehr als „nur“ Ubuntu-20.04-LTS-VMs im Schnellverfahren aufzusetzen. Neben der Standard-Version stehen auch Images für 18.04, 21.10, 22.04 sowie Core 16/18 zur Verfügung, dazu diverse Appliances: AdGuard Home, Mosquitto, Nextcloud, openHAB, Anbox und Plex Media Server. Spätestens mit dem Plex-Server dürfte übrigens klar werden: Multipass ist nicht nur ein Instrument für Test- und Entwicklungsumgebungen on-the-fly, sondern auch für den einfachen praktischen Betrieb von Servern – sogar privat im Heimnetz.
Natürlich könnte man bis hierher fast identisch mit Containern arbeiten. Allerdings muss eine Docker-Umgebung auch erst einmal eingerichtet werden, was mit einigen Abhängigkeiten und Einstellungen einhergeht. Multipass kann auch diese Arbeit erledigen und eine komplette Container-Umgebung, natürlich in Form einer passenden Appliance, aufbauen. Neben Docker ist darin auch die Web-Verwaltung Portainer enthalten, so dass Sie nach einem einzigen Befehl direkt in die grafische Docker-Verwaltung einsteigen können.
Nun sind einzelne Container nützlich, in der Praxis wird es für (größere) Cloud-Anwendungen aber immer wieder auf ganze Cluster hinauslaufen und damit auf die Verwaltung via Kubernetes. Multipass bietet dafür eine VM „minikube“ an: Minikube führt ein Kubernetes-Cluster mit einem einzigen Node aus und liefert so sicherlich die einfachste und schnellste Cluster-Testumgebung.
Die Arbeit mit Multipass erinnert massiv an den Umgang mit Docker auf der Kommandozeile – und denkt man dabei an die praktischen Docker-Files, um Container komplett zu konfigurieren, muss man auch bei Multipass nicht auf ähnliche Funktionalität verzichten: cloud-init erledigt auch diese Aufgabe.
Konfiguration via cloud-init
Wenig verwunderlich: Auch cloud-init stammt aus dem Hause Canonical und arbeitet wunderbar mit Ubuntu und Multipass zusammen. Das Konzept ist einfach: In einer schlichten Textdatei wird die Konfiguration für eine VM zusammengestellt, von der Installation von Paketen, über Einstellungen für das System, Nutzerkonten und so weiter, bis hin zu einem fertigen SSH-Setup. Die cloud-init-Dokumentation liefert allerhand komplexe und kommentierte Beispiele, die folgendem Muster folgen:
Hier würden also Befehle ausgeführt (runcmd), Pakete installiert (packages) und Nutzer eingerichtet (users).
Das Schöne an cloud-init: Die Initialisierung von Cloud-Instanzen funktioniert Anbieter- und distributionsübergreifend, neben Ubuntu werden auch Arch Linux, CentOS, RedHat Enterprise Linux, Fedora, Gentoo Linux, openSuse und auch FreeBSD unterstützt. Mit einer cloud-init-Konfiguration können Sie also fix ein paar Fedoras bei AWS, ein Dutzend FreeBSDs bei Azure oder eben eine Handvoll Ubuntu-Instanzen lokal via Multipass aufsetzen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Multipass in der Praxis
Die Features klingen sicherlich gut, aber die Eleganz von Multipass wird erst klar, wenn man sich die einfachen Befehle mal in der Praxis anschaut. Wenn Sie mal mit Docker auf der Kommandozeile gearbeitet haben, wird Ihnen das vermutlich sehr vertraut vorkommen. Zunächst stellt sich die Frage, welche Images überhaupt als Basis für VMs bereitstehen:
multipass find
… listet alle verfügbaren Images, während …
multipass list
… alle eingerichteten Instanzen/VMs aufzeigt. Ebenfalls interessant für das kommende Beispiel, die Liste der verfügbaren Netzwerke:
multipass networks
Mal ein praktisches Beispiel: Gewünscht ist eine Instanz „foobar“ mit Ubuntu 20.04 LTS mit automatisch bezogener IP-Adresse im aktuellen LAN (meinlan) und darin ein gemounteter Ordner des Gastgeberrechners unter „/media/meinordner“, um auf persistente Daten zugreifen zu können - schließlich können die Multipass-VMs genauso flüchtig genutzt werden wie sonst vor allem Container.
multipass launch --name foobar --network name=meinlan multipass mount /home/peter/daten foobar:/media/meinordner
Der Zugriff erfolgt nun ähnlich simpel – sei es, um Befehle innerhalb der VM auszuführen oder in die Shell der VM zu gelangen:
Genauso einfach lassen sich die Docker-Umgebung und das Minikube-Cluster aufsetzen:
multipass launch minkube multipass launch docker
Aber das Highlight ist sicherlich der Betrieb mittels cloud-init-Dateien, die einfach als Argument übergeben werden:
multipass launch --cloud-init meine-config.txt
Mit diesem simplen Kommando können Sie also einen komplex konfigurierten Server aufsetzen - und natürlich bietet sich dann ein kleines Schleifchen an:
for i in {1..20}; do multipass launch \ --name foobar$i\ --network name=meinlan \ --cloud-init meine-config.txt done
Schon haben wir ein Mini-Rechenzentrum mit 20 Ubuntu-Instanzen zur Verfügung. Multipass installiert übrigens auch einen kleinen grafischen Client, der sich unter Windows im Tray einnistet, das Starten und Stoppen von Instanzen unterstützt sowie das Öffnen der zugehörigen Instanz-Shell.
Zwei weitere Kommandos sollten nicht unerwähnt bleiben, da auch sie massiv zum Charme von Multipass beitragen. Zunächst einmal „transfer“:
multipass transfer meinedatei.txt foobar:.
Mit „transfer“ lassen sich Dateien schnell und einfach in die angegebene Instanz kopieren. Und auch das Ausführen von Kommandos in Instanzen lässt sich abkürzen – wie üblich mittels Alias. Hier soll ein Alias „tatsch“ für den Befehl „touch“ in der Instanz „foobar“ genutzt werden:
multipass alias foobar:touch tatsch
Um nun eine Datei „helloworld.txt“ in der Instanz „foobar“ zu erstellen:
multipass tatsch -- helloworld.txt
Aliase unterstützen also auch Argumente, die lediglich durch „--" abgetrennt werden müssen. Mit ein wenig mehr Konfiguration können Sie sogar auf den vorangestellten multipass-Befehl verzichten. Natürlich gibt es noch einige kleinere Features und Konfigurationsmöglichkeiten, doch grundsätzlich haben Sie nun alle wichtigen Funktionen und Mechanismen von Multipass kennengelernt – ein mächtiges Tool, aber einfach zu nutzen.