Skip to main content
Version: Next 🚧

Frequently Asked Questions

This page collects frequently asked questions about GoKubeDownscaler. If your question isn't answered here, feel free to open an issue or join the project community on Slack.

What is GoKubeDownscaler (kube-downscaler)?


GoKubeDownscaler (also known as a kube-downscaler) is an open-source Kubernetes horizontal autoscaler that automatically scales workloads down to zero during off-hours — such as nights, weekends, or holidays — to significantly reduce cloud infrastructure costs.

Is GoKubeDownscaler free to use?


Yes. GoKubeDownscaler is a free, open-source project licensed under the GPL-3.0 license. The source code is available on GitHub at https://github.com/caas-team/GoKubeDownscaler.

How does GoKubeDownscaler reduce cloud costs?


By scaling Kubernetes workloads down to zero during periods of low usage (for example after office hours, on weekends, or during holidays), cluster nodes are freed up. This reduces the total number of running VMs and lowers your cloud bill.

Does GoKubeDownscaler work with EKS, GKE, and AKS?


Yes. GoKubeDownscaler works with any standard Kubernetes cluster, including Amazon EKS, Google GKE, Azure AKS, and self-managed clusters.

Does GoKubeDownscaler work with Karpenter and Cluster Autoscaler?


Yes. GoKubeDownscaler works perfectly with both Karpenter and the Cluster Autoscaler. GoKubeDownscaler reduces the number of pods during off-hours while Karpenter/Cluster Autoscaler right-sizes (or removes) nodes based on current demand. Since Karpenter offers demand-driven node provisioning, combining it with GoKubeDownscaler's scheduled scale-to-zero behavior can produce even stronger cost savings.

How do I install GoKubeDownscaler?


The easiest way to install GoKubeDownscaler is via Helm:

helm upgrade -i gokubedownscaler oci://ghcr.io/caas-team/charts/go-kube-downscaler

You can also install it using raw Kubernetes manifests if you prefer.

See the installation guide for detailed instructions.

What Kubernetes resources can GoKubeDownscaler scale?


GoKubeDownscaler supports scaling Deployments, StatefulSets, DaemonSets, CronJobs, HorizontalPodAutoscalers, PodDisruptionBudgets, Jobs, Argo Rollouts, KEDA ScaledObjects, Zalando Stacks, Prometheus, and GitHub Actions AutoscalingRunnerSets. See the workload types page for the complete list.

What is the difference between HPA, Keda, and GoKubeDownscaler?


The Kubernetes Horizontal Pod Autoscaler (HPA) scales workloads dynamically based on metrics such as CPU or memory usage. KEDA scales based on custom metrics and events (e.g., queue length, http requests, db metrics) GoKubeDownscaler scales workloads based on time schedules (for example nightly or on weekends). This makes GoKubeDownscaler particularly well-suited for predictable off-hours cost savings.

Does GoKubeDownscaler work well with KEDA?


Yes. GoKubeDownscaler doesn't interfere with KEDA's dynamic scaling based on external metrics. It can be used alongside KEDA to schedule scale-down events while KEDA handles real-time scaling based on demand.

Does GoKubeDownscaler need cluster-wide permissions?


Not necessarily. GoKubeDownscaler can be installed with cluster-wide permissions to manage workloads across all namespaces, or it can be installed with limited permissions to manage specific namespaces, even a single one, giving you flexibility to limit scope where required. See this section of the installation page for more details.

Does GoKubeDownscaler automatically handle daylight saving time (DST) changes?


Yes, GoKubeDownscaler automatically adjusts for daylight saving time. It uses the IANA timezone database to ensure workloads are scaled at the correct local times even as DST changes occur. No manual actions are needed to account for changeovers between standard time and daylight saving time or vice versa.


If you'd like to add a question to this page, open an issue or submit a pull request with the suggested FAQ entry.