kubernetes / autoscaler

Autoscaling components for Kubernetes
Apache License 2.0
8.08k stars 3.97k forks source link

VPA Helm Chart #3068

Open techdragon opened 4 years ago

techdragon commented 4 years ago

It would be very useful to have a Helm Chart for deploying the Vertical Pod Autoscaler. At the moment its one of the few parts I cant deploy in any kind of idempotent/config management toolchain ( other than using shell execution of course πŸ˜„)

If there is a recommended one it should be documented somewhere, if not, could someone more familiar with the install scripting look at if there are any blockers to making a helm chart?

dbirks commented 4 years ago

I've noticed a chart by @sebastien-prudhomme that he may want to contribute: https://github.com/cowboysysop/charts/tree/master/charts/vertical-pod-autoscaler

jkbschmid commented 4 years ago

Any update on this issue? Is a Helm chart or support for any other deploy tool planned or generally desired?

sebastien-prudhomme commented 4 years ago

@jkbschmid i'm the author of the above chart.

If you look at the cluster-autoscaler Helm chart, it's maintained by the Helm community not the Kubernetes organization.

My feeling is that Kubernetes developpers don't want to take care of application packaging. They just provide raw YAML the same way some open source products just provide source code without DEB or RPM package.

I can understand it because some people, like me, prefer Helm, other people prefer Kustomize and so on.

fejta-bot commented 4 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

yashbhutwala commented 4 years ago

/remove-lifecycle stale

sudermanjr commented 4 years ago

Found this issue after I created my own chart today. Seems very similar to the other one mentioned here. We will continue to maintain this one for now since it is a component needed by another tool of ours.

https://github.com/FairwindsOps/charts/pull/358

mkjmkumar commented 4 years ago

/remove-lifecycle stale

fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

fejta-bot commented 3 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

techdragon commented 3 years ago

/remove-lifecycle rotten

fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

techdragon commented 3 years ago

/remove-lifecycle stale

k8s-triage-robot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

techdragon commented 3 years ago

/remove-lifecycle stale

jonkerj commented 3 years ago

We (Equinix Managed Services NL) have rolled our own chart for VPA, and would love to submit it to be included upstream. What do the devs think about this?

rabidscorpio commented 3 years ago

@jonkerj Did anything happen with this? Did you submit your chart? I'd love to see something official adopted.

jonkerj commented 2 years ago

No, it went dead after my message on 7 Sep. If a PR is desired from the VPA devs, we'd be glad to submit ours.

We have mixed experience with putting a lot of effort into polishing something "internal" for PR/publication, so I'd like a confirmation from the devs before we put time into it (which we'd love to do).

fredgate commented 2 years ago

Maybe @bskiba has some answer.

bskiba commented 2 years ago

@jbartosik @kgolab for comment

bskiba commented 2 years ago

/assign @jbartosik

jonkerj commented 2 years ago

And it went silent again. Let's try and see if a PR that adds the chart can shed more light on this mystery πŸ˜‰

jonkerj commented 2 years ago

Let me retract my previous offer. It seems our chart is not so rolled on our own as I claimed: we have a local fork of cowboysysops (@sebastien-prudhomme). So it is up to @sebastien-prudhomme (apparantly the best VPA chart currently out there) to include his work into this repo or not.

On the other hand: our offer still stands. Equinix is willing to submit a quality Helm chart, but I'd like confirmation from the project people before we put time and effort into this.

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-ci-robot commented 2 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/autoscaler/issues/3068#issuecomment-1159478497): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues and PRs according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue or PR with `/reopen` >- Mark this issue or PR as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
k8s-ci-robot commented 2 years ago

@borats: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to [this](https://github.com/kubernetes/autoscaler/issues/3068#issuecomment-1173797699): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
imageschool commented 2 years ago

Still no confirmation..?!

rileyai-dev commented 1 year ago

@jbartosik @kgolab @bskiba A project already exists (https://github.com/cowboysysop/charts/tree/master/charts/vertical-pod-autoscaler) and AFAIK the owner is willing to contribute to its integration into your repo. @jonkerj is willing to submit a chart. All we need from the maintainers is an approval or at least an explanation...

It's been 2.5 years and still nothing! Can't we, at least, have a message from the team about this?

jbartosik commented 1 year ago

@rileyai-dev I'm happy to accept contributions but I don't have capacity to maintain Helm charts.

martinnirtl commented 1 year ago

Hi @sebastien-prudhomme! i just read the history of this issue (including your comment), and wonder what's your stand on moving the chart to this repository and contribute to it here? i think, it would gain much more attraction here and the community is definitely waiting for a helm chart for vpa πŸ˜ƒ

mrclrchtr commented 5 months ago

I landed here because I was looking for the easiest way to install VPA. Do you rather use https://github.com/cowboysysop/charts/tree/master/charts/vertical-pod-autoscaler or https://github.com/FairwindsOps/charts/tree/master/stable/vpa ?

It would be really great if there was an official chat.

nikimanoledaki commented 2 months ago

@sebastien-prudhomme, with 55+ πŸ‘'s, it seems that the community would really appreciate this contribution! Would you be willing to donate the Chart that you have built to this project? That way we can all help to add best practices etc.

Alternatively, @sebastien-prudhomme, would you accept that another contributor takes the initiative to do this with the Chart that you created and are maintaining, as offered by @jonkerj?

@techdragon or a maintainer - would it be possible to reopen this issue, please?

techdragon commented 2 months ago

/reopen

k8s-ci-robot commented 2 months ago

@techdragon: Reopened this issue.

In response to [this](https://github.com/kubernetes/autoscaler/issues/3068#issuecomment-2298192488): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
techdragon commented 2 months ago

I really hate auto close bots... glad it was just closed not locked.

nikimanoledaki commented 2 months ago

Thank you @techdragon! πŸŽ‰ It would be fantastic to have an official up-to-date Helm Chart with best practices maintained by the community, similarly to the cluster-autoscaler one - https://github.com/kubernetes/autoscaler/tree/master/charts/cluster-autoscaler

@sebastien-prudhomme, if you would prefer to not go ahead with this for any reason, that would be okay as well. Please let us know so that we know our options and whether we need to look into alternatives. Thank you! ☺️

marcin-wlodarczyk commented 2 months ago

@jonkerj is this quality VPA chart already published?

sebastien-prudhomme commented 2 months ago

@nikimanoledaki feel free to use my chart to build an official chart.

nikimanoledaki commented 2 months ago

Thank you @sebastien-prudhomme for offering to contribute the chart 🌟

Since @sebastien-prudhomme gave the green light - @jonkerj, does your offer still stand? πŸ˜„

MattSurabian commented 1 month ago

Been a while since @jonkerj was active on this thread, but in case they're not interested in taking up this effort I'd be happy to do so. I have a branch started on my own autoscaler fork but it seems the biggest constraint is going to be reconciling how the deployment assets are managed today in this repo vs how they were being managed in @sebastien-prudhomme 's chart repo which I imagine is the reason this effort has languished.

While it's possible to almost drop the old chart into the charts folder and call this done (so tempting!) it's worth noting that for cluster-autoscaler helm is the first class citizen and all deployment assets are managed up at the root /charts level. Since VPA hasn't had a chart, once one is added something needs to be done with the hack and deploy folders otherwise there will be two locations for maintaining manifest assets which is a nightmare.

I think priority for this effort should be not totally blowing up the workflow of the existing VPA project developers while also ensuring minimal/no values file changes for folks who have been on the unofficial community chart. Some of the existing hack scripts could be modified to accomplish things via helm which might be a start on that front. Success seems easy to measure since the output of ./vertical-pod-autoscaler/hack/vpa-process-yamls.sh print should be able to be compared against helm template calls to ensure correctness.

Smaller considerations for manifest assets are things like how in the existing chart repo rbac resources are managed on a per component level while the existing VPA deploy logic lumps them all into one file (vpa-rbac). Personally I like the way the chart has things broken out, it seems desirable for long term maintenance and clarity. There's also the management of the base CRDs to consider.

@nikimanoledaki, curious to hear your and others reaction to the above. Happy to help in the implementation effort but want to make sure we start in the right direction and that I don't step on anyone's toes.