Skip to main content

Workload Types

Valid values for the workload type are the case-insensitive kubernetes resource names of the workloads. Workload types to be included in the scaling process can be specified using the --include-resources argument at the CLI Scope

List of Workload Types

Here is a list of all the workload types supported by the Downscaler and how they are scaled.

Cronjobs

  • id: cronjobs
  • resource: cronjob.v1.batch

Scales by setting the cronjobs suspend property to true, which halts further scheduled runs of the Cronjob.

Daemonsets

  • id: daemonsets
  • resource: daemonset.v1.apps

Scales by setting the node selector to match none of the nodes, which stops pods from running on any node.

Deployments

  • id: deployments
  • resource: deployment.v1.apps

Scales by setting the replica count to the downscale replicas.

HPAs

  • id: horizontalpodautoscalers
  • resource: horizontalpodautoscaler.v2.autoscaling

Scales by setting the minReplicas to the downscale replicas. If the downscale replicas are less than 1 it will throw an error.

Jobs

  • id: jobs
  • resource: job.v1.batch

Scales by setting the suspend property to true, which stops the execution of the job until it is upscaled again.

PodDisruptionBudgets

  • id: poddisruptionbudgets
  • resource: poddisruptionbudget.v1.policy

Scales by setting the maxUnavailable or minAvailable properties (depending on which one is used) to the downscale replicas. Percentage values are supported as well

ScaledObjects

  • id: scaledobjects
  • resource: scaledobject.v1alpha1.keda.sh

Scales by setting the paused replicas annotation to the downscale replicas, which scales the workloads managed by the scaled object to the downscale replicas.

When scaled objects are being scaled the downscaler will automatically exclude the workloads the scaled objects are managing to avoid conflicts.

Statefulsets

  • id: statefulsets
  • resource: statefulset.v1.apps

Scales by setting the replica count to the downscale replicas.

Rollouts

  • id: Rollouts
  • resource: rollout.v1alpha1.argoproj.io

Scales by setting the replica count to the downscale replicas.

Stacks

  • id: stacks
  • resource: stack.v1.zalando.org

Scales by setting the replica count to the downscale replicas.

Prometheuses

  • id: prometheuses
  • resource: prometheus.v1.monitoring.coreos.com

Scales by setting the replica count to the downscale replicas.