Demystifying CRI - Writing a CRI from Scratch
summary
A minimal CRI implementation is built from scratch in Go that implements key RPCs (Version, PullImage, RunPodSandbox, CreateContainer), uses the CRI proto definitions and gRPC proto codegen, communicates with kubelet over a Unix socket, and drives containers by invoking runC (via the runc CLI) against an unpacked pause image sandbox whose PID provides the shared netns. It successfully creates pods and serves requests but lacks deletion, error-recovery and full lifecycle handling.
AI-written summary · about
chapters (8)
- 0:00Intro
- 0:42Overview
- 1:43CRI Container Runtime
- 4:15GRPC
- 9:29Linux namespaces
- 16:35Sandbox
- 23:57Testing
- 27:45Outro








