8 ms·
Multipass 1.0 – Mini-cloud on Mac or Windows workstation
- ltbarcly3 7y agoI appreciate the Fifth Element reference, but what does running a mini cloud have to do with an identification card? Shouldn't 'Multipass' be used for some kind of oauth library or something? Not a great name for a personal cloud. Or is it 'MultiPASS, multiple platforms as a service'? Still doesn't make sense, presumably this is a personal PASS, since it isn't multiple platforms as a service, it's a single platform as a service provider, different from other PASS providers in that you can run it on your laptop.
- FpUser 7y agoOh sweet memories. I loved that movie
- nickthegreek 7y agoI recommend checking out the UHD bluray. One of the best 4k's out.
- hailwren 7y agoWouldn't that make it MultiPaaS anyways?
- kstenerud 7y agoI've been using multipass for some time now, and I'm super happy to see it finally released! It's basically like LXD, except for VMs instead of containers. Launching fully-functional virtual machines is a breeze.
- simosx 7y agoThis has gone full circle and LXD is starting to support virtual machines in addition to system containers. I was expecting that the multipass project would be absorbed by LXD but it does not look like that would be the case.
- locusm 7y agoI was hoping this was LXD for Win/OSX
- simosx 7y agoThere is already LXD for Win/OSX, https://ubuntu.com/blog/lxd-client-on-windows-and-macos https://ubuntu.com/blog/lxd-client-on-windows-and-macos That is, you get a native LXD client, and then configure the appropriate `remote:` to connect to the VM that has LXD running.
- farisjarrah 7y agoGreat to see this project maturing! I love testing out random command line utilities and programs with this. IMO, this is a much nicer tool for evaluating CLI tools then docker containers because its a full VM and behaves a lot more like my laptop then a docker container.
- kccqzy 7y agoDocker containers can be as like your laptop as you wish them to be in terms of user land. You can install all the usual stuff present on your laptop into the container.
- thepill__ 7y agoMight be naiv, but why not just run a docker container? Or am i missing something?
- simosx 7y agomultipass is virtualization (KVM, Hyper-V, etc) and not containers.
- freedomben 7y agoDepends what you are doing. Docker is just containers so shares the host kernel, and isn't quite as secure as a VM. This actually spins up guest VMs running their own kernel, isolated via hypervisor. If you are running anything that requires kernel changes, containers won't really work (there are ways around it but I feel it's hacky. I could be convinced however). If you're running potentially evil software, VM is also much more the way to go.
- sneak 7y agoThis runs on Mac and Windows, where you cannot run lxc containers (although I understand now that Docker supports some sort of native Windows containerization).
- iamwpj 7y agoI've used vagrant for a few years -- this looks like it might be a little better!
- moondev 7y agoAnyone know if there is a way to launch custom qcow2 images with this on macOS? last time I tried this it only worked on Linux.
- simosx 7y agoOn MacOS, Multipass uses the native VM software provided by the operating system. And you use Multipass to launch Ubuntu virtual machines. I do not think that Multipass would be able to directly launch custom qcow2 images. However, your question is actually whether on MacOS you can have nested virtualization. Because, if MacOS (and Multipass support) it, then this is what you need.
- moondev 7y ago> I do not think that Multipass would be able to directly launch custom qcow2 images. It absolutely does on linux (which uses the qemu driver). <url> is a custom image URL that is in http:// http://, https:// https://, or file:// format. As long as the image is a "cloud" image with cloud-init installed it works fine. I tested this with a fedora image on linux. > However, your question is actually whether on MacOS you can have nested virtualization. Because, if MacOS (and Multipass support) it, then this is what you need. This was not my question, but I don't believe nested virt is supported on macOS with multipass. Someone correct me if i'm wrong but I think nested virt is only available via VMware Fusion on macOS, multipass uses hypervisor.framework via hyperkit
- simosx 7y agoThanks for the correction. Indeed, you can launch many more images than those you get when you run "multipass find". There is a post about this at https://discourse.ubuntu.com/t/new-way-to-launch-images-other-than-cloud-images-from-simplestreams/6282 https://discourse.ubuntu.com/t/new-way-to-launch-images-othe...
- moondev 7y agoRight, "multipass find" only lists the curated ubuntu LTS images on macos. Attempting to launch a qcow2 or img on macos shows "launch failed: http and file based images are not supported" which leads back to my original question. qcow2/img launching indeed works fine on linux
- wenc 7y agoFor folks who have used this and WSL, how does this compare to WSL? (Windows Subsystem for Linux) Has anyone tried to run production(ish) workloads on WSL? Multipass?
- simosx 7y agoCurrently, you can only use WSL1 in Windows. WSL1 is emulation and has way too few features compared to a proper virtual machine. WSL2 currently is available only through the Windows Insider Program, which is something that you will NOT setup on a work machine. WSL2 is still work in progress. Currently it misses many features and the provided Linux kernel does not include many kernel modules (several for networking are missing). For example, WSL2 currently does not support bridge networking.
- pletnes 7y agoIn my experience, WSL1 is also very, very slow and cannot run all programs. A while ago, no haskell programs would run, for instance. Not sure about the current status though. Another limitation in WSL1 is that it cannot run docker. And so on. It still might be an OK way to obtain *nix based software, and can «see» your windows directory tree without any mounting/configuration. And no VM is needed.
- whycombagator 7y ago> In my experience, WSL1 is also very, very slow I've commented this in the past, but WSL1 is much faster than WSL2 when interoping with the Windows file system[0] [0]https://github.com/microsoft/WSL/issues/4197 https://github.com/microsoft/WSL/issues/4197
- rcarmo 7y agoI'm running Multipass alongside WSL2 with no ill effects (other than my not being able to ping/SSH directly to Multipass instances from inside WSL2, which is probably due to their being on a separate HyperV "switch"), and I spotted three things right off the bat: * WSL2 sees all my CPU cores (Multipass might be able to do that, but I haven't figured out how to yet) * Home directory integration seems to be there, but require a manual mount (might be just me, I am running this on an Insiders build) * I was able to run multipass.exe from inside WSL2 and get a shell to its instances without even thinking twice about it :) I do use WSL1 on my main machine (and have done so for a long while without any significant issues), and might set up Multipass on it and my Macs to work with Docker containers without the slow, pokey Docker Desktop UI (all I really need is a quick way to get a VM running on any of the native hypervisors, and I'm good).
- captn3m0 7y agoWhat exactly is it? >A mini-cloud on your Mac or Windows workstation. doesn't really mean anything to me.
- programd 7y agoWorth noting that Multipass does not support launching VMs with bridged networking. See this issue for details: https://github.com/canonical/multipass/issues/118 https://github.com/canonical/multipass/issues/118 This means that your VMs won't be able to get IP addresses on your LAN via DHCP. Kind of a fundamental omission for this kind of product I would think. Curious that it's not a high priority issue for them. Also, what's the IPv6 story here? I didn't see anything in the docs addressing that, unless I'm missing something.
- exhilaration 7y agoI'm confused, does that mean the VMs can't reach the internet?
- wmf 7y agoThey're probably NATed so they can reach out.
- freedomben 7y agoYes they are NATed through the host, and typically bridged to each other (tho not always).
- freedomben 7y agoMaybe we have very different use cases, but I almost never use bridged networking. Typically what I want is all outgoing connections to be NATed through the host. That said I agree, it should be an option. There are certainly use cases for it.
- oefrha 7y agoAt home I have a Hyper-V-based Ubuntu VM on a Windows workstation that runs almost all my LAN services. Not having bridged networking would be a complete deal breaker.
- 7y ago
- riffic 7y agoHow does this fit in with other vm tooling such as vagrant?
- iudqnolq 7y agoDoes this provide security? Can I use it to build and run untrusted old software I download?
- simosx 7y agoYou get a virtual machine, so you can build and run untrusted software. If you have very specific old software (for example, something that runs on Ubuntu 12.04 LTS), then you can install LXD inside a Multipass VM, and from LXD create a system container with Ubuntu 12.04. While Multipass supports LTS versions of Ubuntu and recent development versions of Ubuntu, with LXD you get container images for many more versions and other distributions. See the list at https://us.images.linuxcontainers.org/ https://us.images.linuxcontainers.org/
- freedomben 7y agoMake sure your hypervisor is up to date. It's uncommon but vulnerabilities that allow applications in the guest VM to escape the hypervisor and infect the host do happen sometimes. For the most part as long as your hypervisor is up-to-date this would be a great solution for you to use untrusted software. Just keep in mind the "primary" machine gets special connections to the host, which can include file sharing and hardware sharing, etc. Do it in a machine without those things for increased safety.
- iudqnolq 7y agoThanks!
- stephenr 7y agoI'm confused what this offers, over say vagrant. It mentions "run linux VMs" at least once but then seems to only be about Ubuntu VMs.
- moondev 7y agovagrant * try to find a solid reliable "box" to launch * ensure your virt provider is supported and configured * create a vagrant file and configure it * "vagrant up" and more vagrant-specific provisioning in the vagrantfile. * Destroy the vm and then have to toil through provisioning again if you didn't export your "box" multipass (same on macos/linux/windows) multipass launch -n my-machine -c 2 -m 4G -d 20G bionic --cloud-init my-cloud-init.yaml
- stephenr 7y agoSo besides the fact that this tool has exactly the same “problems” you describe in the first two points (see another sub thread for MacOS vs Linux host running this tool - different images are available; and you’re just trusting that “bionic” is a “solid reliable” image to use), the rest of your complaint is: “I don’t want a file that defines my one or 100 vm setup so I can commit it to the project. I want to run a command and define the same attributes over and over again every time any person on the project needs to use it”. Also I don’t know why you mentioned “vagrant destroy” and then went on about “toil through your provisioning”. If you want to use cloud init, there is a vagrant provisioner that supports it. If you don’t, you can use another one like shell scripts or chef or salt or puppet or Ansible or whatever. If you destroy the machine the provisioning will need to run again - yes. But why would you destroy the machine if you don’t want it to start from scratch? But what toiling is there? Once the provisioners are defined, you just let them run - how is that different than a cloud init provisioned vm?
- teilo 7y agoCompletely agree. I do not see any advantage here. To add: Virtualbox is supported on Windows/Mac/Linux, is trivial to install, and is the default Vagrant provider. If I want top performance, I can choose other options. Vagrant+Parallels on Mac is nice. So is Vagrant+KVM on Linux. A Vagrantfile is 4 lines for a basic config, and vagrant will create one for you, and your config is saved should you need to edit it. It's trivially easy. Multipass has the same needs the moment you need anything beyond the defaults. So I'd call that a wash. How is "vagrant up" harder than "multipass launch"? What does "vagrant-specific provisioning" means exactly? Vagrant provisions with the same toolchain you are probably using for your production servers. It supports ansible, chef, and puppet. How is that "vagrant-specific"? When I want to launch a development vm, I want it provisioned in specific ways that match the production instances I will eventually be launching. Vagrant+Ansible gives me that in spades, and it's easy. The Hashicorp toolchain and ecosystem also provides other advantages: Packer for easily building my own base images, and targeting them at multiple hypervisors, including EC2. Not to mention that all distros are supported. Packer also answers the GP's provisioning complaint. Provision a VM, and use it as the basis for a new box in Packer. Problem solved. This reminds me of people who like MySQL "because it's easier than Postgres." Not easier. Just not the same.
- AlexeyBrin 7y agoHow can I start a http server in a multipass instance and access it from the host ? Is this even possible ?
- simosx 7y agoThis is a typical use-case scenario for using Multipass. You just use the IP address of the Multipass VM on your browser at the host and it will work.
- deleted 7y ago[deleted]
- teilo 7y agoIt's just a Linux VM. You still need to configure it somehow, either by ssh-ing into it, or by using cloud-init.
- amanzi 7y agoThis actually looks great, installing it now to try out. But the title of this HN post doesn't really explain what it is, since a "mini-cloud" implies a lot more than just Ubuntu VMs. The actual headline of the target page is: "Instant Ubuntu VMs", with a subtitle of: "A mini-cloud on your Mac or Windows workstation." And the title of the page is: "Multipass orchestrates virtual Ubuntu instances" which makes much more sense. This really is great - after installing it's as simple as "multipass launch" to create and start a new instance, and then "multipass shell" to get a shell prompt. In the background it uses the native Hyper-V hypervisor to run the VMs.
- oefrha 7y ago“Instant Ubuntu VMs” — much better title. “A mini-cloud on your Mac or Windows workstation” — much better clickbait.
- ustamills 7y agoThis. A cloud is a separate set of resources you get to use. They will be there when you go back to them. They will stay there when you don't. I've not finished reading all the docs, but it just seems like easy vms.
- kenny_r 7y agoI've been playing around with it for a bit, but I don't really see what it has to offer that Vagrant doesn't already do. "multipass launch" and "multipass shell" do the same as "vagrant up" and "vagrant ssh". Vagrant has been around since 2010 and is super mature by now. Multipass seems to be limited to LTS Ubuntu releases, for now at least. There are Vagrant boxes for all Ubuntu releases but also Debian, CentOS or whatever else you would want to run.
- amanzi 7y agoThe advantage over Vagrant is that it's a lot less complex. I've tried Vagrant on Windows before and really struggled with it, when all I wanted was a quick and easy way to launch lots of VMs.
- johnklos 7y agoCloud? You keep using that word. I do not think it means what you think it means.
- stephenr 7y agoIt means something whispy that looks nice from far away but you can’t actually touch and it will disappear at a moments notice ;-)
- 4bpp 7y agoIs there something comparable to this that is offered as a native $distro (Debian in particular) package, rather than a Snap? I'm slightly allergic to running parallel package managers.
- stephenr 7y agoVagrant?
- 4bpp 7y agoLooks fairly comparable, but the writeup at https://docs.cumulusnetworks.com/cumulus-vx/Development-Environments/Vagrant-and-Libvirt-with-KVM-or-QEMU/ https://docs.cumulusnetworks.com/cumulus-vx/Development-Envi... makes me think it might not quite treat "standard Linux-world solutions" as first class citizens. (Not to mention "vagrant plugin install ..." also looks a lot like a parallel package manager.)
- moondev 7y agoyou could make an alias for it to call qemu directly, but won't get much of the convenience from the multipass lifecycle commands
- _1tan 7y agoFedora has https://virt-manager.org/ https://virt-manager.org/
- hiciu 7y agoit looks very similar to lxd
- sneak 7y agoDocker Desktop for Mac and Windows is not free software; it is proprietary and closed source. I am glad to see something like this (which is free software) being made available as an alternative.
- buckhx 7y agoMultipass was the only way I could get a local k8s install that didn't shred my laptop. Albeit I/O perf was bad, but would build containers on the host and put them in a spot containerd could pick them up in the VM. Worked pretty well, but a bit hairy to set up.
- elchin 7y agoHow does this compare to Vagrant?
- amanzi 7y agoAt first glance it seems to be much simpler, less complex, and therefore less features than Vagrant. Depending on your requirements, Vagrant may be a better option, but for me Multipass looks great.
- moondev 7y agoAll that is missing for me is a active library of machine images like vagrant cloud. That would be amazing!
- amanzi 7y agoLooks like it supports launching custom images, but you'd need to build up your own library of images. https://multipass.run/docs/launch-command https://multipass.run/docs/launch-command
- ridruejo 7y agoLooks pretty nice and reminds me of Docker desktop. Are there any plans to make it easy to consume other non Ubuntu vms? We built something similar for Mac for Bitnami VMs and would be great to extend it to Windows and Linux
- alexellisuk 7y agoThis is like what Docker Desktop did for Virtualbox and docker-machine. Lean UX, faster hypervisor. Don't need the complexity of Vagrant when one command gets me what I need - a fresh Ubuntu VM with our without my custom cloud-init. I just don't get what's closed source and open and why they had to write it in C++
- herewego 7y agoI’ve used Multipass extensively and I can honestly say, while it’s a great start, it’s not even remotely ready for prime time on MacOS. I have lost tons of VMs that get stuck shutting down and are never able to come back up due to corruption. Still, it’s worth checking back in at a later date. Docker continues to be my go-to for now.
- unameit 7y agoon my mac when i type in 'multipass stop ubuntu-lts' the system shuts down instantly and i had to reboot. pretty cool software though.
- keyle 7y agoIs this some sort of OKD/OpenShift alternative?
- me551ah 7y agoHow does this compare to WSL 2 on windows? Launching WSL based linux distros is a breeze and they are lightweight due to lack of full virtualization overhead. Since these use Hyper-V/VBox I'm guessing they would be heavier.
- nickthemagicman 7y agoDon't containers only use one process? I.e. you would need some orchestration tool to use nginx and python at the same time for example when using containers. Whereas this would allow both to run on the same instance due to being a VM? Am I conceptualizing the differences correctly?
- ballen 7y agoIf by chance someone is looking for a VM management software around hyperkit, I've been working on https://github.com/bensallen/hkmgr https://github.com/bensallen/hkmgr in my spare time.
- syntaxing 7y agoCan anyone explain what "mini-cloud" means? I searched for it online and can't seem to find anything that relates to it.