knative / knative/serving

Integrate VPA in knative/serving

Open
#8,366 45 comments 8 reactions 1 assignee Claimed by @krithika369 View on GitHub
area/autoscale help wanted kind/feature lifecycle/frozen triage/accepted
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.