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.