I was looking at QEMU and i see that it supports the hypervisor framework with '--accel=hvf' maybe this would be a better and more mature hypervisor than xhyve for this use case, since xhyve is not that much developed nowadays, save for bugs and some portability to newer versions of macos.
we don't have a proper image storage engine;
Could you please point me to a doc that describes this in more detail, since i'm new i'm having trouble understanding which is the image storage engine (i can only assume it should be something along the lines of a docker registry?) for kata-containers and how it's used.
p.s.: is it worth moving this conversation to a github issue, maybe it gets a bit more traction?
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, April 7th, 2021 at 9:46 AM, Xu Wang email@example.com wrote:
I agree it would be useful if we could support macOS natively, which will turn kata into a development tool.
Actually we had done some investigation years ago (maybe before we launched kata project in late 2017). Some of the issues (at that time) for xhyve included:
- kata employs hotplugging for resources;
- we don't have a proper image storage engine;
It's too long time ago, maybe these issues have been solved, and maybe there were other issues I missed.
However, I think it would be nice if we could have an elegant macOS.
What do you think about, Eric?
Sorry if this is a super ignorant question, i'm not too familiar with kata-runtime and how it communicates with different hypervisors but what would be the challenges to add xhyve as a supported hypervisor or qemu for mac to kata containers? Is this even possible? Alternatively i'd be interested if someone already made this work, maybe i'm missing some important piece of info that i didn't find in the github issues and docs.
The way that it is currently for me, at least, is that i need to run a VM at all times, (this reserves at least half of my system resources) either if it's the Docker for desktop VM or something like Parallels where i do my development. Even if the tasks i use it for are not memory intensive, the memory is still reserved for the VM.
Not having to run a (beefy) VM and inside run containers as docker for desktop currently does would be a huge improvement for developers. Not to mention you would probably be able to use the rest of the tooling to spin up k8s clusters with Kind for example, where your containers are a bunch of smaller vms.
Anyway, would appreciate any pointers on this, if _it is possible_ and there's interest, i'd be more than happy to put it in the time to make it happen.