Skip to content
DevOpsProgramming

Your Kubernetes Controller's Cache: The Silent RAM Buffet Between You and the API Server

This deep dive explains how controller-runtime's informer cache actually works: reconciler reads come from an in-memory store populated via list+watch, not from the API server. That makes reads nearly free but introduces subtle pitfalls — stale reads after writes, hidden linear scans over large object sets, and memory consumption driven by cache scope and indexes. The article walks through the Reflector, delta queue, and Indexer plumbing, clarifying when APIReader is necessary and how to avoid expensive surprises in production clusters.

Read full article →