From eec50ae576d640c8cb705b5ac13a1f3e31a5c8dd Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Sat, 27 Sep 2025 02:42:24 +0300 Subject: [PATCH] K3S Sysbox Blog Signed-off-by: galal-hussein --- blog/2025-09-27-k3s-sysbox.md | 128 ++++++++++++++++++++++++++++++++++ blog/authors.yml | 8 ++- blog/containerd.png | Bin 0 -> 48649 bytes 3 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 blog/2025-09-27-k3s-sysbox.md create mode 100644 blog/containerd.png diff --git a/blog/2025-09-27-k3s-sysbox.md b/blog/2025-09-27-k3s-sysbox.md new file mode 100644 index 0000000000..54ac6e66ec --- /dev/null +++ b/blog/2025-09-27-k3s-sysbox.md @@ -0,0 +1,128 @@ +--- +title: Sysbox Runtime With K3S +description: Integrating sysbox runtime with k3s' containerd +authors: husseingalal +tags: ["runc","k3s","sysbox"] +hide_table_of_contents: true +--- + +The K3s binary bundles all the components needed to run a production-ready, CNCF-conformant Kubernetes cluster including containerd, runc, kubelet, and more. In this post we will discuss how containerd communicates with OCI runtimes and will discuss adding another container runtime (Sysbox) to k3s and how it can be used to run system pods in your environment. + +## Containerd and Runc + +First we need to talk briefly about how containerd works with runc. Containerd is a long running daemon that is responsible for: + +- **Image Management**: Pulls and stores images from registries. +- **Container Management**: Manages the lifecycle of containers (create, start, stop, delete). +- **Snapshot Management**: Uses snapshotters to manage the filesystem layers for containers. +- **Runtime Management**: Delegates the creation of containers to OCI-compatible runtimes like runc. + +When you create a pod in Kubernetes, kubelet uses the CRI plugin implemented in containerd to request a **pod sandbox** (`RunPodSandbox`) and then container creation (`CreateContainer`). Containerd then calls a `shim` process that acts as a middleman between `containerd` and the OCI runtime (for example `runc`). This shim process allows the container to keep running even if the containerd daemon crashes or restarts. + +The shim generates the OCI runtime bundle (`config.json` and `rootfs` path) and then executes the runc binary. Runc reads the `config.json`, sets up the container’s namespaces and cgroups, and then launches the container process. + +Runc is the component that directly interfaces with the Linux kernel — configuring cgroups, namespaces, seccomp, capabilities, and mounts. After runc finishes creating the container, it **exits**, leaving the shim to manage the lifecycle and I/O of the container. + +![containerd runc](containerd.png) + +## Sysbox Runtime + +[Sysbox](https://github.com/nestybox/sysbox) is an open-source, next-generation container runtime created by Nestybox. Unlike traditional runtimes (such as runc), Sysbox is designed to let you run **system containers**. It primarily leverages **Linux user namespaces** and other features to provide containers that behave more like lightweight virtual machines. + +This means you can run workloads like Docker, Systemd, containerd, or even k3s inside your pods — all without requiring privileged mode. + +In short, Sysbox bridges the gap between application containers and virtual machines, enabling use cases like running Kubernetes-in-Kubernetes (K8s-in-K8s), CI/CD pipelines that need full OS-like environments, or development sandboxes with VM-level isolation but container speed. + +**Important note**: Currently, Sysbox officially supports **CRI-O** only. CRI-O has native support for Linux user namespaces, which Sysbox relies on. While containerd added user namespace support starting in version v2.0, there was a [bug](https://github.com/nestybox/sysbox/issues/958) in sysbox-runc that prevented it from working properly with Sysbox. + +## Sysbox-runc Containerd Integration + +After investigating this issue, I was able to locate the root cause, as explained in this [PR](https://github.com/nestybox/sysbox-runc/pull/106). Containerd was failing to run a specific subcommand for sysbox-runc called `features`, which led to the following error: + +``` +level=debug msg="failed to introspect features of runtime \"sysbox-runc\"" error="failed to unmarshal Features (*anypb.Any): type with url : not found" +``` + +Because of this, containerd instructed sysbox-runc to run containers **without user namespaces**, causing container creation to fail. The fix for this bug was recently merged in the `sysbox-runc` repo, enabling containerd to work with sysbox-runc. + +# Running Sysbox-runc With K3S + +In order to run `sysbox-runc` with k3s you need to have a running k3s cluster, and then you can proceed by installing the latest version of sysbox, However since the fix for containerd support hasn't been yet integrated to sysbox main repo only in `sysbox-runc`, we need to build the binaries from source to get the latest updates. + +1. Install docker in your system. + +2. Clone the repo and prepare the code + +``` +git clone --recursive https://github.com/nestybox/sysbox.git + +cd sysbox/sysbox-runc + +git pull origin main + +cd .. + +make IMAGE_BASE_DISTRO=ubuntu IMAGE_BASE_RELEASE=jammy sysbox-static +``` + +You can then copy the binaries built to `/usr/bin` or if you are building on the same machine that you will run containerd you can just run: + +``` +make install +``` + +3. Run sysbox binary + +``` +sysbox +``` + +4. Create sysbox runc runtime class + +``` +apiVersion: node.k8s.io/v1 +handler: sysbox-runc +kind: RuntimeClass +metadata: + name: sysbox-runc +``` + +5. Add sysbox runc to containerd configuration, you can do that by creating `/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl`: + +``` +[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.sysbox-runc] + runtime_type = "io.containerd.runc.v2" + +[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.sysbox-runc.options] + SystemdCgroup = false + BinaryName="/usr/bin/sysbox-runc" +``` + +6. Finally you can create pod running with the runtime class for sysbox-runc and `hostUsers: false`: + +``` +apiVersion: v1 +kind: Pod +metadata: + name: ubuntu +spec: + runtimeClassName: sysbox-runc + hostUsers: false + containers: + - name: ubuntu2204 + image: ubuntu:22.04 + command: ["sleep", "40000000000"] + restartPolicy: Never +``` + +## Conclusion + +Sysbox brings a powerful capability to Kubernetes: the ability to run system-level workloads inside containers with strong isolation, without requiring privileged mode. When combined with k3s, this opens the door to new use cases such as: + +- Running Kubernetes-in-Kubernetes clusters for virtual clusters (k3k). +- Creating secure developer sandboxes that behave like lightweight VMs. +- Running system daemons or nested container engines inside pods. + +While Sysbox is officially supported with CRI-O today, the recent fixes in `sysbox-runc` allow it to run on containerd as well — making it possible to integrate with k3s. The integration is still evolving, but it shows how the container ecosystem is moving beyond traditional app containers toward more flexible "system containers." + +If you’re experimenting with k3s and want to explore system workloads inside pods, Sysbox provides a compelling way to do so while maintaining Kubernetes-native workflows. \ No newline at end of file diff --git a/blog/authors.yml b/blog/authors.yml index 2e2462eab9..604e37f110 100644 --- a/blog/authors.yml +++ b/blog/authors.yml @@ -9,4 +9,10 @@ manuelbuil: title: K3s maintainer image_url: https://github.com/manuelbuil.png url: https://github.com/manuelbuil - name: Manuel Buil \ No newline at end of file + name: Manuel Buil + +husseingalal: + title: K3s maintainer + image_url: https://github.com/galal-hussein.png + url: https://github.com/galal-hussein + name: Hussein Galal \ No newline at end of file diff --git a/blog/containerd.png b/blog/containerd.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a1605587644282cd6cf5e116078a02d6349ebb GIT binary patch literal 48649 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 literal 0 HcmV?d00001