Back to guidesGuide

Controller-runtime golden signals: catch cache lag before blaming the API server

A practical guide to separate informer lag, saturated queues, REST-client throttling, and real API-server issues in Kubernetes controllers.

Learn how to instrument and diagnose Kubernetes controllers with controller-runtime, workqueue, cache, and REST-client metrics before tuning concurrency or restarting pods blindly.

Created: July 30, 2026

Published: July 30, 2026

Estimated time40 min
LevelAdvanced
Before you startRead kubectl access to the controller namespace
PlatformsLinux
WhatsAppXLinkedIn

Linux

kubectl, Prometheus, and ServiceMonitor flow to validate controller-runtime based controllers in Kubernetes.

kubectlcurlPrometheus Operator optional
List recent controller and API events
kubectl get events -n platform-controllers --sort-by=.lastTimestamp | tail -40
Check controller resource pressure
kubectl top pods -n platform-controllers
Inspect recent reconciler errors
kubectl logs deploy/orders-controller -n platform-controllers --tail=120 | egrep 'reconcile|cache|throttle|too old resource version|error'
Read controller metrics locally
kubectl port-forward -n platform-controllers deploy/orders-controller 8080:8080 &
curl -s localhost:8080/metrics | egrep 'workqueue|controller_runtime|rest_client'

Content locked

This guide requires both steps before full content is available.

  • Click “Like” on this guide.
  • Share on WhatsApp, X, LinkedIn, or copy the link.

Access is automatically unlocked as soon as both steps are completed.