Adjust HorizontalPodAutoscaler settings for workloads
- Dominant language
- Go
- Stars
- 226
- Forks
- 117
- Avg merge
- 12h 40m
- Merged PRs (30d)
- 12
Description
**Problem**
We're running relatively small Knative setups and we have configured lower CPU & memory requests and limits to keep the overhead small. Currently, spikes in Knative usage cause the HorizontalPodAutoscalers to scale up very aggressively. This is because our CPU requests are low and it's very easy to reach the 100% `averageUtilization` that knative-operator currently configures to HPA objects. And because the default value for maxReplicas is high, we suddenly get _a lot_ more pods for a smallish traffic spike.
The operator should expose a way to configure the HPA targets (`averageUtilization`) and `maxReplicas` so that the autoscaling behavior can be limited.
**[Persona:](https://github.com/knative/eventing/blob/main/docs/personas.md)**
System Operator
**Exit Criteria**
Knative operator exposes settings to configure `averageUtilization` and/or `maxReplicas` in the HPA objects created for Knative serving components.
**Time Estimate (optional):**
**Additional context (optional)**
Contributor guide
Research direction
Start by locating where the operator creates HorizontalPodAutoscaler objects for Knative Serving components and how their settings are exposed. Trace the current averageUtilization and maxReplicas defaults and identify the relevant operator tests or manifests. Done means operators can configure these values and the generated HPA objects reflect them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 54/100