Kuasar is a multi-sandbox container runtime. Then what is container runtime? In short, container runtime is the component responsible for running containers. Generally, container runtime is classified into high-level container runtime and low-level container runtime.
High-level container runtime
High-level container runtime is responsible for CRI implementation and image management, etc. containerd, CRI-O, docker and iSulad are typical high-level container runtime.
Low-level container runtime
And Low-level container runtime is responsible for container & sandbox lifecycle management, etc. So Kuasar is a Low-Level container runtime from a technical landscape.
Sandboxer plugin and Sandbox API
Kuasar connects with high-level container runtime with sandboxer plugin and sandbox API. The sandboxer plugin introduces the sandbox concept in High-Level runtime, making the sandbox become the “first-class citizen”. And the Sandbox API provides efficient and scalable API to manage various sandboxes.
A discussion about the sandboxer plugin has been raised in this Containerd issue, with a community meeting record and slides attached in this comment. Now this feature has been put into 2.0 milestone.
As for Kuasar, it consists of two main modules, the Kuasar-sandboxer and Kuasar-Task.
The Kuasar-sandboxer, which implements the Sandbox API, is responsible for sandbox lifecycle and resource allocation management.
The Kuasar-Task, which implements the Task API, responds to the requests from high-level container runtime then manages the life cycle and resource allocation of user’s containers.
Kuasar is a multi-sandbox container runtime, that means it supports mainstream sandboxes.
As you can see, Kuasar now supports Cloud-Hypervisor, StratoVirt, WasmEdge and Quark sandboxes. And we’re planning to support more sandboxes, for details, you can see the roadmap. That means Kuasar will have the ability to meet the requirements of different cloud native scenarios.