Integrate VPA in knative/serving
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 1.2k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 2
Description
/area autoscale
## Describe the feature
We would love to see VPA integrated in knative, as tried before in https://github.com/knative/serving/issues/2929
### Use case
### Context
We currently have our applications (mostly web applications) deployed in kubernetes with standard k8s objects, and we are evaluating replacing such deployments with knative services.
#### Current autoscaling strategy
Our autoscaling strategy is set up as follows:
* Each deployment defines its VPA and HPA
* We use RPS as main HPA metric
* We do not use resource policy limits
* We rely on VPA to set requested usage
This implies that just by defining how many requests per second a pod is able to handle, all the rest gets done automatically.
One advantage that we find in this strategy is right-sizing the deployments almost free (even if we give conservative estimations on supported RPS, with VPA the CPU/Memory requests will be sized accordingly)
As we can appreciate, **VPA is key** to this strategy
Migrating to knative without VPA would force us to manually define resource policy for all services, thus producing either toil or over/under-provisioning with all consequences that this might bring.
At this moment, we find that knative would benefit from having VPA for all users that are in a situation similar to ours, and unfortunately this is **blocking a full rollout** of knative services to our platform.
Is there any chance that VPA integration in knative serving could be considered?
Contributor guide
Assessment
This issue has not been assessed yet.