Cache Me If You Can: P2P Image Sharing in Kubernetes with Spegel
summary
A stateless cluster-local OCI registry mirror that runs as a DaemonSet and rewrites containerd mirrors to serve layers from host disk, uses libp2p kademlia DHT for discovery, and proxies blob requests from nodes that already have the layer. Benchmarks report about 80% faster pulls with ~75% cache hit and corresponding network cost reduction. It currently supports containerd, scales to ~1–2k nodes in deployments, falls back to upstream on misses, and faces thundering herd and leader election CPU limits and a GKE incompatibility.
AI-written summary · about
chapters (13)
- 0:00Spegel introduction
- 1:02Distributing OCI images challenges
- 4:55OCI image basics
- 8:49Spegel origins
- 12:41P2P image sharing
- 18:25libp2p and Kademlia role
- 22:18Spegel architecture
- 24:45Fire-and-forget benefits
- 26:11Unexpected use cases
- 28:42Scaling challenges
- 32:30Future features
- 34:37Rate limiting and community
- 35:40Community and support
related talks
48mImproving Container Image Registry Availability with Kube Image Keeper
34mFast Image Pulls Using IPFS And Opportunistic Caching
35mThe Growing Need for Caching Container Images in Kubernetes
48mImproving Container Image Registry Availability with Kube Image Keeper
40mNode-Level Optimization in Large Cluster Powered by Containerd Plugin
25mStreamlined Efficiency: Unshackling Kubernetes Image Volumes for Rapid A...
24mReenforce Kubernetes Image Isolation in Multi-Tenant Service
34mOn Data Locality in Kubernetes
