Before It Evicts Your Node, the Node Controller Checks Its Own Cache
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.
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.
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.
The Deployment hash is FNV-32a over the pod template, salted by a persisted status.collisionCount that is bumped only on a genuine collision.
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.