aws / karpenter-provider-aws

Karpenter is a Kubernetes Node Autoscaler built for flexibility, performance, and simplicity.
https://karpenter.sh
Apache License 2.0
6.21k stars 859 forks source link

Feature Request: Add NodePool Stop Functionality for Cost Savings in Development Environments #6279

Open kahirokunn opened 1 month ago

kahirokunn commented 1 month ago

Description

What problem are you trying to solve?

We would like to introduce a feature to Karpenter that allows for stopping NodePools during non-operational hours such as nights, weekends, and holidays. This would be particularly useful in development environments to reduce costs when the nodes are not in use.

How important is this feature to you?

This feature is highly important as it would significantly reduce operational costs in development environments. By automatically stopping NodePools during periods of inactivity, we can optimize resource usage and achieve substantial cost savings.

runningman84 commented 1 month ago

Isn’t the downscaler the better solution here?

kahirokunn commented 1 month ago

@runningman84 Is there a downscaler in Karpenter? Or are you talking about Pods?

runningman84 commented 1 month ago

There is a downscaled for pods and if there are no pods running karpenter will delete the nodes…

kahirokunn commented 1 month ago

There are nearly 200 CNCF products, and expecting all of them to support nighttime shutdown or scheduling, or having a universal downscaler to handle all of them, is not practical. Many OSS controllers directly generate Pods, in addition to managing replicas for StatefulSets or Deployments. Hence, there are cases where having a feature to shut down by not provisioning Nodes is necessary. This is especially beneficial in development environments.