libkrun
krunvm
libkrun | krunvm | |
---|---|---|
8 | 11 | |
931 | 1,441 | |
6.4% | 1.3% | |
9.0 | 5.1 | |
6 days ago | 6 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libkrun
-
Hyperlight: Virtual machine-based security for functions at scale
libkrun (on Linux) is probably a closer comparison (though still not quite the same). https://github.com/containers/libkrun
- My VM is lighter (and safer) than your container
-
Krunvm – Create MicroVMs from OCI Images
These specific microVMs are managed by: https://github.com/containers/libkrun#goals-and-non-goals (linked directly to project scopes).
In summary though (others redacted):
# Goals
- Execute Docker Containers as QEMU MicroVMs
-
Show HN: krunvm – Create and run lightweight VMs from OCI images
The key is that libkrun (https://github.com/containers/libkrun), the library that krunvm uses for running the VMs, as recently integrated support for Hypervisor.framework on ARM64, in addition to KVM.
As for buildah, the Homebrew repo contains a build that includes this PR (https://github.com/containers/storage/pull/811).
krunvm
-
RunCVM: An open-source Docker runtime for launching container images in VMs
Lots of cool hybrid container/VM ideas are being developed!
Bootable Container Images are a standard for launching VMs from OCI images: https://containers.github.io/bootable/
crun-vm (https://github.com/containers/crun-vm) is similar to RunCVM in that it can launch container images (or VM disk images) in VMs. It's an OCI runtime so it fits into the podman, Docker, or Kubernetes model.
krunvm (https://github.com/containers/krunvm) is a standalone tool with a similar workflow where you can launch a VM from an OCI image. It predates Bootable Container Images, so I think it injects its own kernel.
-
Show HN: Isolated microVM-based self-hosted GitHub runners
This project creates self-hosted (ephemeral) GitHub runners based on krunvm [1]. krunvm creates microVMs, so the project enables fully isolated runners inside your infrastruture. MicroVMs boot fast, providing an experience close to running containers. The project starts VMs based on the multi-platform OCI images that it creates -- ubuntu [2](default) or fedora [3]. The default is to create far-less capable runners than the GitHub runners, but most settings are similar to when running at GitHub: same user ID, member of the `docker` group, password-less `sudo`, etc. Since krunvm runs on MacOS, this should also run on MacOS -- although I haven't been able to test it: reports and/or PRs are welcome.
[1]: https://github.com/containers/krunvm
- Ask HN: Best way to run Linux VMs on M1 Mac with fileSharing/shared networking?
- krunvm
- Krunvm – Create MicroVMs from OCI Images
-
How to create a kvm virtual machine without a gui?
An interesting alternative is krunvm. On my MacBook Pro M1 it takes less than a second to start a VM and get a Linux shell prompt with krunvm . When I boot up a Fedora CoreOS on the same computer it takes about 17 seconds. Note though that krunvm is for managing lightweight VMs created from OCI images.
- Execute Docker Containers as QEMU MicroVMs
- krunvm is a CLI-based utility for managing lightweight VMs created from OCI images
What are some alternatives?
firecracker - Secure and fast microVMs for serverless computing.
libkrunfw - A dynamic library bundling the guest payload consumed by libkrun
harvester - Open source hyperconverged infrastructure (HCI) software
slim - Build and run tiny vms from Dockerfiles. Small and sleek.
kwarantine - Kwarantine can run strongly isolated containers in a multi-tenant setting
lima - Linux virtual machines, with a focus on running containers
kubevirt - Kubernetes Virtualization API and runtime in order to define and manage virtual machines.