Welcher Entwickler kennt es nicht, jedes Projekt hat seine eigene Infrastruktur, seine eigenen Server Applikationen in unterschiedlichsten Konfiguration. Bisher habe ich hier in VirtualBox mit verschiedene Maschinen gearbeitet und auf dem Rechner gespeichert. Diese haben pro Maschine gut mal 1 GB gebraucht und war teilweise umständlich zu steuern. (Lokale Ssh-Verbindung).
Seit einiger Zeit habe ich in der Anmeldung eines Ubuntu-Servers die Mitteilung entdeckt:
* Multipass 1.0 is now available! https://multipass.run/
Neugierig wie ich bin, habe ich gleich mal die Webseite geöffnet um nachzulesen, was das ist: multipass.run
“Instant Ubuntu VMs – A mini-cloud on your Mac or Windows workstation”
Multipass nutzt je nach Architektur den systemeigenen Hypervisor:
- Hyper-V (Windows)
- Hyperkit (Mac OS)
- virtualbox oder KVM (Linux)
Somit ist die Ausführung einer Maschine sehr schnell und systemnah.
Installation
via brew
Also gleich mal die Installations-Anweisung für den Mac gesucht und gestartet, als brew
Anwender habe ich mir für diesen Installationsweg entschieden:
Mac:# brew cask install multipass
Es hat nicht lange gedauert und Multipass war installiert.
via Installer
Alternativ kannst du auch den Installer herunterladen und über den Setup die Applikation ausführen.
Und schon ist Multipass einsatzbereit.
Multipass verwenden
So, installiert ist es, jetzt das Terminal starten, falls noch nicht offen. Die erste Maschine kannst du einfach mit folgendem Befehl starten:
Mac:# multipass launch Launched: promoting-grison Mac:#
Innerhalb kürzester Zeit steht dir die erste Maschine zur Verfügung. In meinem Fall hat diese den Namen promoting-grison
bekommen. Sämtliche Informationen über die Maschine erhältst du mit dem Befehl:
Mac:# multipass list Name State IPv4 Image promoting-grison Running 192.168.64.4 Ubuntu 18.04 LTS Mac:#
Hier habe ich also eine Ubuntu-Maschine mit der IP: 192.168.64.4
und der Ubuntu Version 18.04 . Nun aber mal rein in die Maschine:
Mac:# multipass exec promoting-grison -- /bin/bash To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@promoting-grison:~$
Und schon hast du die komplette Maschine vor dir. Du kannst in dieser Maschine all die notwendigen Pakete installieren, die du benötigst. Was ich allerdings noch nicht geschafft habe, ist eine grafische Oberfläche in dieser Maschine zu benutzen. (Ist für meine Projekte auch nicht weiter notwendig.)
Alternativ kannst du auch mit dem Befehl: multipass shell promoting-grison
auf die Shell der Maschine zugreifen.
Weitere Befehle
Standard Maschine
Wenn du den Namen primary
für deine Maschine verwendest, brauchst du keinen Namen bei sämtlichen Befehlen mit einzugeben.
VM konfigurieren
Es gibt weitere Parameter, mit der du deine Maschine spezifizieren kannst:
- Anzahl der zu verwendeten Prozessoren
-c 1
- Größe des Arbeitsspeichers
-m 1G
(K (kb) / M (mb) /G (gb)) - Größe der Festplatte
-d 5G
(K / M / G) - Konfigurations-Datei
--cloud-init <file>
- Spezifische Ubuntu Version
- eigener Namen für die Maschine
Mac:# Multipass launch -c 2 -m 4G -d 10G --cloud-init datei.conf ubuntu:18.04 maschinenname Launched: maschinenname Mac:#
VM löschen
Eine nicht mehr benötigte Maschine kannst du mit dem Befehl löschen:
Mac:# multipass delete promoting-grison Mac:# multipass list Name State IPv4 Image promoting-grison Deleted -- Not Available Mac:# multipass purge Mac:#
Weitere Befehle und Hilfe
Weitere Befehle und Hilfe kannst du dir einfach mit dem nachfolgenden Befehl anzeigen lassen:
Mac:# multipass list Usage: multipass [options] <command> Create, control and connect to Ubuntu instances. This is a command line utility for multipass, a service that manages Ubuntu instances. Options: -h, --help Display this help -v, --verbose Increase logging verbosity, repeat up to three times for more detail Available commands: delete Delete instances exec Run a command on an instance find Display available images to create instances from get Get a configuration setting help Display help about a command info Display information about instances launch Create and start an Ubuntu instance list List all available instances mount Mount a local directory in the instance purge Purge all deleted instances permanently recover Recover deleted instances restart Restart instances set Set a configuration setting shell Open a shell on a running instance start Start instances stop Stop running instances suspend Suspend running instances transfer Transfer files between the host and instances umount Unmount a directory from an instance version Show version details Mac:#
Fazit
Für mich ist Multipass ein tolles Tool. Ich brauche keine grafischen Oberflächen für meine tägliche Arbeit und baue Regelmäßig Maschinen neu. Außerdem ähnelt das System eher der Cloud-Infrastruktur und somit sind die Befehle ähnlich meiner bisherigen Werkzeuge.
Foto: Tim Photoguy