Skip to content

HPA status in ScaledObject #7649

Description

@wozniakjan

Proposal

KEDA's ScaledObject currently reports Ready=True even when its managed HPA cannot fetch metrics (HPA shows <unknown> targets with ScalingActive=False).
Users see a healthy-looking ScaledObject while scaling is silently broken, the only way to discover the problem is to manually inspect the HPA. Examples of this might be broken metrics adapter, broken APIService.apiregistration, or invalid certs for the gRPC connection between operator and metrics adapter.

This has been reported a few times in the past but imho never properly addressed:

In the past, there were issues with too frequent reconciles due to HPA churn

But adding the HPA status aggregation to SO through the scaleHandler scaling loop shouldn't reintroduce any negative performance issues of HPA churn because it won't be based on informer events.

Use-Case

Better UX when SO is not scaling but it's not keda-operator's fault (or is and it just doesn't know, e.g. fails to refresh the certs for metric adapter gRPC).

Is this a feature you are interested in implementing yourself?

Yes

Anything else?

this will benefit from #7579 refactored status updates, ensuring that HPA status aggregation doesn't add unnecessary kube-apiserver load.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Ready To Ship

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions