-
Notifications
You must be signed in to change notification settings - Fork 0
Add KEDA-driven HPA on core-worker (Asynq queue depth) #81
Copy link
Copy link
Closed
Labels
area:devopsDeployment, K8s, CIDeployment, K8s, CIarea:workerBackground workers (Asynq)Background workers (Asynq)phase:P1-cms-corePhase 1 — CMS CorePhase 1 — CMS Corepriority:P1Important — should land in phaseImportant — should land in phaseskill:devopsDocker, K8s, CI/CDDocker, K8s, CI/CDtype:choreMaintenance, deps, infraMaintenance, deps, infra
Milestone
Metadata
Metadata
Assignees
Labels
area:devopsDeployment, K8s, CIDeployment, K8s, CIarea:workerBackground workers (Asynq)Background workers (Asynq)phase:P1-cms-corePhase 1 — CMS CorePhase 1 — CMS Corepriority:P1Important — should land in phaseImportant — should land in phaseskill:devopsDocker, K8s, CI/CDDocker, K8s, CI/CDtype:choreMaintenance, deps, infraMaintenance, deps, infra
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Configure KEDA-driven HorizontalPodAutoscaler for
core-workertargeting Asynq queue depth as the external metric, instead of CPU. Workers should scale onasynq_queue_depth{queue="default"}(target 50/pod) and{queue="media"}(target 20/pod) — pure CPU autoscaling produces bad behavior for throughput-shaped workloads.Design reference
Acceptance criteria
ScaledObject(or HPA via metrics adapter) targetingcore-workerDeploymentgonext_asynq_queue_depth{queue="default"}target 50,{queue="media"}target 20minReplicaCount: 3,maxReplicaCount: 15terminationGracePeriodSeconds: 300on worker pods preservedvalues.yamlDependencies
#66, #82 (metrics exporter)
Complexity
M