kata-containers/docs/hypervisors.md
Zhigang Wang 44b5b88f4c docs: Update docs for new StratoVirt VMM introduction
As the StratoVirt VMM has been added, we can update the docs
and make some intoduction to StratoVirt, thus users can know more
about the hypervisor choices.

Fixes: #8645

Signed-off-by: Zhigang Wang <wangzhigang17@huawei.com>
Signed-off-by: Liu Wenyuan <liuwenyuan9@huawei.com>
2024-01-04 14:26:48 +08:00

3.4 KiB

Hypervisors

Introduction

Kata Containers supports multiple hypervisors. This document provides a very high level overview of the available hypervisors, giving suggestions as to which hypervisors you may wish to investigate further.

Note:

This document is not prescriptive or authoritative:

  • It is up to you to decide which hypervisors may be most appropriate for your use-case.
  • Refer to the official documentation for each hypervisor for further details.

Types

Since each hypervisor offers different features and options, Kata Containers provides a separate configuration file for each. The configuration files contain comments explaining which options are available, their default values and how each setting can be used.

Note:

The simplest way to switch between hypervisors is to create a symbolic link to the appropriate hypervisor-specific configuration file.

Hypervisor Written in Architectures Type Configuration file
ACRN C x86_64 Type 1 (bare metal) configuration-acrn.toml
Cloud Hypervisor rust aarch64, x86_64 Type 2 (KVM) configuration-clh.toml
Firecracker rust aarch64, x86_64 Type 2 (KVM) configuration-fc.toml
QEMU C all Type 2 (KVM) configuration-qemu.toml
Dragonball rust aarch64, x86_64 Type 2 (KVM) configuration-dragonball.toml
StratoVirt rust aarch64, x86_64 Type 2 (KVM) configuration-stratovirt.toml

Determine currently configured hypervisor

$ kata-runtime kata-env | awk -v RS= '/\[Hypervisor\]/' | grep Path

Choose a Hypervisor

The table below provides a brief summary of some of the differences between the hypervisors:

Hypervisor Summary Features Limitations Container Creation speed Memory density Use cases Comment
ACRN Safety critical and real-time workloads excellent excellent Embedded and IOT systems For advanced users
Cloud Hypervisor Low latency, small memory footprint, small attack surface Minimal excellent excellent High performance modern cloud workloads
Firecracker Very slimline Extremely minimal Doesn't support all device types excellent excellent Serverless / FaaS
QEMU Lots of features Lots good good Good option for most users
Dragonball Built-in VMM, low CPU and memory overhead Minimal excellent excellent Optimized for most container workloads out-of-the-box Kata Containers experience
StratoVirt Unified architecture supporting three scenarios: VM, container, and serverless Extremely minimal(MicroVM) to Lots(StandardVM) excellent excellent Common container workloads StandardVM type of StratoVirt for Kata is under development

For further details, see the Virtualization in Kata Containers document and the official documentation for each hypervisor.