urunc: Running Unikernels as Containers
Shriira Press
How urunc lets unikernels live inside the OCI and Kubernetes world, running as ordinary containers while keeping the speed and isolation of tiny virtual machines.
Welcome to urunc: Running Unikernels as Containers.
For years unikernels have promised something tempting — applications compiled together with just enough operating system to run, booting in milliseconds, presenting a vanishingly small attack surface. Yet they never fit comfortably into the cloud-native stack, because the tools everyone uses assume processes, namespaces, and OCI images, not specialised virtual-machine images with no shell and no agent. urunc, a CNCF sandbox project, closes that gap by becoming "runc for unikernels": a CRI-compatible container runtime that packages unikernels as OCI artifacts and boots them through a virtual machine monitor while presenting them to containerd and Kubernetes as if they were perfectly ordinary containers. This book walks through what unikernels are and why they resisted integration, how urunc's shim and runtime are structured, the way unikernel images are packaged with annotations and tools like bunny, the boot flow from containerd through networking and storage to a running monitor, how to wire urunc into Kubernetes with a RuntimeClass, and where the project fits in the wider ecosystem.
This title is part of the ShriIra library and is free to read in full, right here — our small contribution to making world-class knowledge easy to reach.
A note on reading it: open the Contents menu at the top of the reader to jump between chapters, use the Aa menu to set a comfortable text size, theme (light, sepia, or night), and single- or two-page layout. Your place is saved automatically, so you can always pick up where you left off.
We hope it serves you well.
— Shriira Press