Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native support for ArgoRollout CRD to improve efficiency #7024

Open
ejholmes opened this issue Jul 9, 2024 · 3 comments
Open

Native support for ArgoRollout CRD to improve efficiency #7024

ejholmes opened this issue Jul 9, 2024 · 3 comments
Labels
area/vertical-pod-autoscaler kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@ejholmes
Copy link

ejholmes commented Jul 9, 2024

Which component are you using?:

VPA

Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:

We use VPA in combination with Argo Rollouts. In the cluster we're using this with, each namespace has many hundreds of Rollout objects (~500) and many namespaces (~7). Because Rollout is not a well known controller this results in VPA making lots of API calls to the Rollout's /scale endpoint, thanks to this loop

As a result, the webhook takes many seconds to finish, sometimes more than 30 seconds leading to a timeout and fail open. We've done our best to tweak the kube-api-qps/kube-api-burst flags, but this feels like a bandaid.

Describe the solution you'd like.:

It would be nice if VPA natively supported Rollout objects as a well known controller, so that it can use a shared informer to keep a cache of Rollout objects to make the admission controller more performant.

Describe any alternative solutions you've considered.:

If direct support for Rollout wouldn't be accepted, since it's a third party CRD, maybe VPA could support a dynamic informer so that users of VPA could add a flag of CRD's they want to use VPA with.

@ejholmes ejholmes added the kind/feature Categorizes issue or PR as related to a new feature. label Jul 9, 2024
@adrianmoisey
Copy link
Member

/area vertical-pod-autoscaler

@voelzmo
Copy link
Contributor

voelzmo commented Jul 15, 2024

/triage accepted

I don't think it's feasible to add each and every CRD to the list of well-known controllers, but it seems that we can do much better performance-wise in how VPA determines the Pods that belong to VPA.

@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Jul 15, 2024
@voelzmo
Copy link
Contributor

voelzmo commented Jul 24, 2024

/retitle Native support for ArgoRollout CRD to improve efficiency

@k8s-ci-robot k8s-ci-robot changed the title Support for Argo Rollouts Native support for ArgoRollout CRD to improve efficiency Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/vertical-pod-autoscaler kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants