Controllers that sync Kubernetes data to an external registry (service discovery, LBs) with no explicit handshake are a steady source of bugs. Worst case: a rollout completes and client traffic gets black-holed against stale endpoints. The primitives that fix it:
A Sync Loop Is Not a Handshake: Keeping External Systems in Lockstep with Kubernetes | Ronak Nathani
A best-effort sync loop isn't enough to keep an external system in lockstep with Kubernetes. This post uses service discovery to show how readiness gates and finalizers make an external system a parti...
ronaknathani.com