google / kube-startup-cpu-boost

Kube Startup CPU Boost is a controller that increases CPU resource requests and limits during Kubernetes workload startup time
Apache License 2.0
286 stars 14 forks source link

Global CPUBoost #55

Closed camaeel closed 3 months ago

camaeel commented 4 months ago

Community Note

Description

Current CPUBoost is namespace scoped. It would be great if I could set a global CPUBoost for pods matching some label selector (for example: pod-technology=java) and then set some default startup increase so migration of multiple applications should be easy.

References

mikouaj commented 4 months ago

Hi @camaeel, thank you for creating this feature request. I'm keen to understand the use case and requirements for the cluster wide Startup CPU Boost. You have mentioned migration, can you please elaborate a bit on this ? What is being migrated, from where and to where ?

One of the considerations would be to priority of a cluster wide Startup CPU Boost vs namespaced ones, which is related to #56 . What is your view on that in a context of this use case?

camaeel commented 4 months ago

We have pretty big environments (few hundreds of deployments ~ few hundreds of helm releases in one cluster) and applying for all of them new resource is impossible.

Our current solution is to use https://github.com/dbschenker/thundering-herd-scheduler which is not perfect but limits number of pods starting in parallel on a node.

I'm thinking about moving from old solution there are few approaches:

mikouaj commented 3 months ago

Thanks @camaeel I've opened #61 to track this feature request. We plan to close the MVP in September and discuss this for the next version.

camaeel commented 3 months ago

Great, thanx.