kubernetes / autoscaler

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

Generic API based cluster autoscaler #3644

Closed Bessonov closed 2 years ago

Bessonov commented 4 years ago

There is a high demand to allow custom cloud autoscaler provider:

Well, I'm not able to reopen any of them. This request goes beyond the hard coding every possible provider into autoscaler source code base. And I'm not sure why every provider must be integrated into source code, follow the same unpredictable release schedule, review process and follow the same licence (although Apache is fine). It set a limit to scale development.

Furthermore, the integrated providers are very limited to some "standard" things. Some use cases are missing:

A more generic solution could send desired actions to a (single) configurable REST endpoint, possibly to a service inside the cluster. It would allow a decentralized and powerful way to create own autoscaler providers.

I'm aware of Cluster API and the Cluster API Provider. But I'm not sure how it contribute to above use cases.

Maybe I'm just not aware of an existing solution. Is there any workaround for above use cases? Any pointers are appropriate.

Bessonov commented 4 years ago

Found two more use cases:

And a relevant quote from @MaciekPytel about scaling development:

We're happy to accept more provider integrations, but we (core developers) are unable to even support existing ones anymore. Instead each provider has its own owners who maintain it. So a prerequisite to accepting a new provider would be to have someone willing to take responsibility for it.

I think it shows how an generic interface could help.

Bessonov commented 4 years ago

Found a proposal for generic (gRPC) API: https://github.com/kubernetes/autoscaler/pull/3140 .

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

Bessonov commented 3 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-contributor-experience at kubernetes/community. /lifecycle stale

unixfox commented 3 years ago

/remove-lifecycle stale

technicianted commented 3 years ago

What's the status of plugable-provider-grpc.md? Seems to be the most promising.

@hectorj2f

k8s-triage-robot commented 3 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

kfox1111 commented 3 years ago

/remove-lifecycle stale /remove-lifecycle rotten

k8s-triage-robot commented 3 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 3 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/autoscaler/issues/3644#issuecomment-944300695): >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.
Bessonov commented 3 years ago

/reopen

k8s-ci-robot commented 3 years ago

@Bessonov: Reopened this issue.

In response to [this](https://github.com/kubernetes/autoscaler/issues/3644#issuecomment-944421572): >/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.
Bessonov commented 3 years ago

/remove-lifecycle rotten

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

Bessonov commented 2 years ago

/remove-lifecycle stale

dbonfigli commented 2 years ago

you might want to review / test this: https://github.com/kubernetes/autoscaler/pull/4654

Bessonov commented 2 years ago

Oh, wow, thank you very much for your work and pointing to the implementation! I think now this issue can be closed.

unixfox commented 2 years ago

Why closing? The PR wasn't merged.

AverageMarcus commented 2 years ago

As that PR isn't merged in yet would it be best to leave this issue open?

Bessonov commented 2 years ago

Hey guys, I think this issue should be closed already after #3140 was merged. But I've no stakes to reopen it :)

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

AverageMarcus commented 2 years ago

/remove-lifecycle stale

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

dbonfigli commented 2 years ago

https://github.com/kubernetes/autoscaler/pull/4654 has been merged and now the cluster autoscaler has a gRPC based plugin system, probably this issue can be closed.