To facilitate the use of vAccel, we provide bindings for popular languages,
apart from C. Essentially, the vAccel C API can be called from any language
that interacts with C libraries. Building on this, we are thrilled to present
support for Go.
In our previous posts,
we walked through the process of configuring various low-level container
runtimes in Knative using the RuntimeClass feature of K8s. We
detailed the setup for
isolation mechanisms like
gVisor, with a special
focus on Kata and its associated hypervisors, including AWS
Firecracker and
QEMU. Additionally, we
delved into the capabilities of unikernels, showcasing the
power of urunc in the serverless realm.

This post is about urunc, a tool that
we build to treat unikernels as containers and properly introduce unikernels to
the cloud-native world! Essentially, urunc is a container runtime able to
spawn unikernels that reside in container images. Before digging into the gory
details, let us walk through some required concepts: unikernels, containers,
and container runtimes.