run-as-daemon.dev
← Writing
kubernetes / reliability

A DaemonSet with no CPU limits pegged six nodes at 100%

2026-07-20 · ~4 min

A tiny watchdog DaemonSet, crash-looping quietly, burned a full core on every node it ran. No alert fired — because the thing meant to watch was the thing on fire.

The shape of it

A helper DaemonSet mounts a kernel interface and crash-loops on an unexpected condition. With no resource limits, each restart spins hot, and containerd’s restart churn drives CPU to 100% on every node in the set — six of them — for hours. Everything else on those nodes slows down; nothing points at the culprit because it looks like generic load.

Two rules that would have prevented it

resources:
  limits: { cpu: "100m", memory: "64Mi" }
  requests: { cpu: "20m", memory: "32Mi" }
Cluster-wide workloads deserve cluster-wide paranoia. A DaemonSet is your bug multiplied by your node count.
Keeping infrastructure alive under real conditions is the day job. If your business can’t afford the guessing — turnkey delivery, one accountable owner: ftops.space.