Open antonin-a opened 4 months ago
Hello here, we have a Kubernetes cluster with multiple nodepools, one of which is configured with autoscaling enabled. It can scale up from 0 to 3 nodes. It works well but we observe that a node is only ready after 4 or 5 minutes, which is too long: we execute Knative functions whose execution time is much shorter, with scenarios like burst/batch scale. In my understanding, the cluster autoscaler is triggered as soon as the cluster cannot schedule a new pod, with new-pod-scale-up-delay
= 0 seconds.
As far as I understand, there is no possible setting that would make the "default" Cluster Autoscaler proactive, that is, it would anticipate the need for more resources, and therefore it would provision nodes in advance (like with Horizontal Pod Autoscaling based on resource metrics (CPU, mem). Ex: create a new pod replica when you reach 80% CPU)
Thus, Karpenter would be the solution to our use case.
Thank you @yomovh for pointing me out the roadmap and Karpenter.
Hello @pgillet, thank your for your feedback and upvote ! I do confirm that Karpenter is on our roadmap, no clear ETA yet but we will keep you updated here.
Could you fix these links please (parenthese at the end) ?
Karpenter is something that could be installed on any (OVH) k8s cluster ? https://karpenter.sh/v0.37/getting-started/getting-started-with-karpenter/
As customer I would like to be able to use a node autoscaler so that I can create new node that better match resource requirement in terms of CPU or RAM and define more advanced scaling policies than with the existing Kubernetes Cluster Autoscaler. An idea would be to rely on Karpenter autoscaler (https://karpenter.sh/)
Karpenter is an AWS project that has been donated to CNCF/Kube project in nov. 2023 (https://twitter.com/dims/status/1727388443595137348)