This autoscaler watched a RabbitMQ queue and adjusted the number of Kubernetes worker replicas according to the waiting messages. It was useful when processing demand arrived as queued jobs rather than a steady web-request rate. More workers could help reduce a backlog, provided the application and broker could support them. The archived implementation had specific assumptions about virtual hosts and scaling calculations, which need translation when choosing a replacement.
Current guidance
This is onfido/k8s-rabbit-pod-autoscaler, an archived script-based controller. Its README describes polling RabbitMQ, parsing an AUTOSCALING environment variable and changing Deployment replicas. It explicitly assumes the root RabbitMQ virtual host. That identifies a narrower implementation than a generic RabbitMQ autoscaling capability.
KEDA’s documented RabbitMQ scaler is an alternative to evaluate, not the same project. It supports distinct queue-length and rate-based modes, virtual-host selection and configurable authentication. Translate the old messages-per-pod-per-interval assumption into an explicitly chosen target and test the calculation against observed worker throughput.
Queue depth alone does not capture slow or stuck messages. Exercise acknowledgements, retries, a worker terminating mid-message and a temporary metrics failure. Give the scaler only the broker and Kubernetes permissions it requires, keep credentials out of public manifests, and set a deliberate minimum and maximum replica count. During migration, ensure only one autoscaler owns the Deployment. Validate empty-queue and sudden-backlog behavior before relying on the replacement to protect processing latency.
Historical upstream link check · 2026-10-09
The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. GitHub marks onfido/k8s-rabbit-pod-autoscaler as archived. This confirms the repository's read-only archive state; any successor or supported distribution needs separate evidence. Link availability does not certify the historical installation instructions or current security support.
Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.
Historical Kubedex content
Original publication: 2018-09-27T10:08:40+00:00. Preserved for context. Commands, versions, prices and results below reflect the original research.
Scales your pods based on number of messages in a RabbitMQ queue.
Autoscaling process (autoscale.sh<):
- Loops through deployments defined in AUTOSCALING< (env var), every INTERVAL (env var) seconds.
- Gets the messages queue on RabbitMQ for the current deployment’s queue.
- Calculates the amount of desired pods and scales the deployment if required.
- Every event success or failure will log and notify slack if the SLACK_HOOK env var is set (logging intensity depends on LOGS env var).
The post k8s-rabbit-pod-autoscaler appeared first on kubedex.com.
Sources & further reading
Spotted something that needs another look?
Help improve this page →