Perpetual Disequilibrium
A desired state system with continuous reconciliation may never reach a stable state — and that is by design. The Kubernetes docs state: “your cluster could be changing at any point” and “it doesn’t matter if the overall state is stable or not” as long as controllers are running and making useful changes (bib).
The shift in correctness
Traditional systems define correctness as convergence to a fixed point: the system is “done” when it matches the spec. Perpetual disequilibrium redefines correctness as continuous progress: the system is healthy when its controllers are active and reducing drift, even if new drift is constantly introduced.
Why it happens
- External disturbances: hardware fails, networks partition, humans make manual changes
- Internal change: new desired states are applied continuously (deployments, scaling events)
- Multiple controllers interact, each producing state that others must reconcile
In a sufficiently complex system, the probability of all controllers simultaneously having nothing to do approaches zero.
Implications
- Monitoring must measure controller activity and drift reduction rate, not “is the system settled?”
- Hysteresis and dead bands prevent controllers from oscillating in response to noise
- The system must tolerate partial inconsistency — some resources may be mid-reconciliation at any given moment