Skip to content
Opensource internals
  • Posts

Controllers

Before It Evicts Your Node, the Node Controller Checks Its Own Cache

Oct 23, 2026 14 min read Jay Hubbert

Before evicting a node on an expired lease, the node controller re-reads the lease live; if the resource versions differ the cache is stale and the whole pass is aborted.

KubernetesInternalsControllers

Read more →

Expectations: How a Controller Waits for Its Own Writes to Come Back

Oct 23, 2026 17 min read Jay Hubbert

Expectations are a pair of atomic counters per controller: raised before a write, lowered by the informer when the write comes back, and checked before every sync.

KubernetesInternalsControllers

Read more →

Not a Random Suffix: The Deployment Hash and Its Collision Counter

Oct 23, 2026 13 min read Jay Hubbert

The Deployment hash is FNV-32a over the pod template, salted by a persisted status.collisionCount that is bumped only on a genuine collision.

KubernetesInternalsControllers

Read more →

Solid, Dangling, Waiting: How the Garbage Collector Decides to Delete

Oct 23, 2026 15 min read Jay Hubbert

The GC asks the API server whether each owner still exists, sorts the references into solid, dangling and waiting, and only deletes when every owner is gone.

KubernetesInternalsControllers

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·