{
  "id": 6170419,
  "title": "What a Kubernetes controller actually does when you break something",
  "url": "https://urgent.news/2026/09/07/what-a-kubernetes-controller-actually-does-when-you-break-something",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-07T20:40:28.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/kirponik/what-a-kubernetes-controller-actually-does-when-you-break-something-58ef"
  },
  "original_language": "en",
  "account": "Kubernetes controllers maintain desired and observed state for resources, ensuring consistency between them. The Reconcile function executes this process, receiving only the namespace and name of the resource as input. It does not receive a diff. Instead, it reads the desired spec from scratch and hands it to controllerutil.CreateOrUpdate for comparison with the current state. This level-triggered approach, as opposed to edge-triggered, ensures correct behavior regardless of missed updates. The work comes from four sources: Watch, Informer cache, Work queue, and Predicates. Watch establishes a long-lived HTTP connection to the API server, while Informer cache maintains local copies of watched objects. Work queue holds keys to deduplicate Reconcile calls, and Predicates filter events before enqueuing keys. Understanding these four mechanisms reveals the true workings of Kubernetes controllers and how they affect performance and behavior.",
  "summary": "⚡ TL;DR Four things about controller mechanics are widely half-understood: what Reconcile receives, where its work comes from, what a periodic resync is, and what a predicate turns off. I built an operator, broke it five ways, and measured each mechanism directly. The reconcile function runs in 2.71ms mean, 77/77 under 25ms , a short resync period costs zero additional API requests , and…",
  "key_points": [
    "Kubernetes controllers maintain desired and observed state consistency",
    "Reconcile function executes process without receiving a diff",
    "Watch, Informer cache, Work queue, and Predicates are four mechanisms"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}