A Kubernetes Controller watches cluster state and takes action to move actual state toward desired state.

Controllers are how Kubernetes turns declarative resources into running systems.

Reconciliation

Controllers use reconciliation loops.

They repeatedly compare:

  • Desired state: what the API says should exist
  • Actual state: what currently exists

When the states differ, the controller changes the cluster to reduce the difference.

Examples

  • Deployment controller
  • Job controller
  • Node controller
  • Service controller
  • Operators