Scoped Autoscaler

Autoscaler features described below can be made to act only on a subset of your cluster. By marking specific workloads for autoscaling, only that subset will be considered by the unscheduled pods policy, and the empty nodes policy will only clean up nodes that the autoscaler has previously created.

Enabling Scoped Autoscaler Mode

To enable Scoped Autoscaler Mode, you need to configure a taint on the default node template. This taint serves as a switch for the scoped behavior of the autoscaler.

Required Configuration

Add the following taint to the default node template:

scheduling.cast.ai/scoped-autoscaler:NoSchedule

Effects of the Taint

Scoped Node Deletion

The autoscaler will only delete nodes that are labeled with:

provisioner.cast.ai/managed-by=cast.ai

Evictor Configuration Update

The presence of this taint automatically updates the configuration of the Evictor to align with scoped autoscaler behavior.

Workload Tolerations

Workloads running on these nodes must include a toleration for the taint to avoid scheduling disruptions. For example:

tolerations:
  - key: "scheduling.cast.ai/scoped-autoscaler"
    operator: "Equal"
    value: "NoSchedule"
    effect: "NoSchedule"

What’s Next