kedacore / keda

KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
https://keda.sh
Apache License 2.0
8.57k stars 1.08k forks source link

Per-item scaling based on metric labels (Prometheus Scaler) #6252

Open curtisraymond opened 1 month ago

curtisraymond commented 1 month ago

Proposal

I'm looking to optimize my current ScaledJob configuration so that when multiple PostgreSQL PVCs exceed a usage threshold, a separate job is launched for each PVC rather than processing them sequentially within a single job. This would improve efficiency and parallelism in resizing PVCs.

My current understanding is that KEDA's ScaledJob with the Prometheus scaler doesn't natively support per-item scaling based on metric labels (e.g., PVC names). This means I can't directly create multiple jobs, each with a different PVC name, based on the metric labels returned from the Prometheus query.

Use-Case

No response

Is this a feature you are interested in implementing yourself?

No

Anything else?

No response

JorTurFer commented 1 month ago

Hello That's correct, KEDA doesn't support changing the PVC name as it doesn't modify the workload at all.

curtisraymond commented 1 month ago

@JorTurFer, I'm not trying to change the PVC name. Instead, I'm aiming to resize the PVC using a KEDA ScaledJob that targets PVCs based on their labels, so it knows which PVC to modify. However, I may have multiple PVCs that currently exceed the specified threshold parameter in the ScaledJob, and therefore each will need to be resized.

JorTurFer commented 3 weeks ago

KEDA doesn't support resizing PVC as data managing is out-of-the-scope of KEDA. There were an initiative to evaluate how to handle this but I don't remember the outcome. @zroubalik , do you remember it?

zroubalik commented 2 weeks ago

I think this is slightly relevant: https://github.com/kedacore/keda/issues/5218

KEDA doesn't support resizing PVC as data managing is out-of-the-scope of KEDA. There were an initiative to evaluate how to handle this but I don't remember the outcome. @zroubalik , do you remember it?

Yeah it is this proposal: https://github.com/kedacore/keda/issues/5232