Kubernetes v1.36 introduces the route_controller_route_sync_total metric in the Cloud Controller Manager

What’s new in Kubernetes v1.36?

Kubernetes v1.36 adds an alpha counter metric named route_controller_route_sync_total to the Cloud Controller Manager (CCM) route controller implementation (source). The metric increments every time the CCM syncs routes with the underlying cloud provider.

Why the metric matters

The metric was introduced to help operators validate the CloudControllerManagerWatchBasedRoutesReconciliation feature gate that first appeared in Kubernetes v1.35. When the gate is enabled, the route controller switches from a fixed‑interval reconciliation loop to a watch‑based approach that only runs when node objects actually change (source).

Because the watch‑based mode only reacts to real node changes, it reduces unnecessary API calls to the infrastructure provider, easing pressure on rate‑limited APIs and making better use of quota.

How to A/B test the feature gate

Operators can compare route_controller_route_sync_total values with the feature gate disabled (the default) versus enabled. In a stable cluster with few node changes, the counter should drop dramatically when the gate is on.

# Feature gate disabled (fixed‑interval loop)
# After 10 minutes with no node changes
route_controller_route_sync_total 60
# After 20 minutes, still no node changes
route_controller_route_sync_total 120

# Feature gate enabled (watch‑based reconciliation)
# After 10 minutes with no node changes
route_controller_route_sync_total 1
# After 20 minutes, still no node changes – counter unchanged
route_controller_route_sync_total 1
# A new node joins the cluster – counter increments
route_controller_route_sync_total 2

The contrast is most visible in clusters where nodes rarely change.

Providing feedback

If you have comments or questions, the Kubernetes community suggests reaching out via:

  • The #sig-cloud-provider channel on Kubernetes Slack
  • The KEP‑5237 issue on GitHub
  • The SIG Cloud Provider community page

All of these channels are listed in the original blog post (source).