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?

thanks,
Victor


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, April 7th, 2021 at 9:46 AM, Xu Wang <xu@hyper.sh> wrote:

Hi Victor,

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?

Xu

------------------------------------------------------------------
From:Victor Palade <victor@cloudflavor.io>
Send Time:2021年4月6日(星期二) 22:27
To:kata-hypervisor@lists.katacontainers.io <kata-hypervisor@lists.katacontainers.io>
Subject:[Kata-hypervisor] macos support?

Hi,

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.

Best,
Victor