How it works

Setup in the CAST AI Console

You have two levels of downscaling available at your disposal:

  • Node deletion policy - this policy just removes nodes that are empty and no longer running in any capacity. For example, if a job you're running goes past its run, a node may become empty, and CAST AI will automatically remove it to avoid waste.
  • Evictor - it continuously compacts pods into fewer nodes, creating empty nodes that can be removed following the Node deletion policy (if you choose to enable it). Evictor actively bin packs your cluster state and moves pods around to achieve higher node utilization of nodes, removing empty nodes in line with the Node deletion policy. Learn more about Evictor.

Bin packing flow

Evictor explained with train senario

Evictor explained on a train scenario

  1. CAST AI implemented Evictor component to solve the bin-packing problem.
  2. Evictor continuously scans your cluster on a per-minute basis.
  3. It identifies pods running on underutilized nodes and checks whether they could be scheduled somewhere else in your cluster.
  4. When such a combination of nodes and pods is found, Evictor cordons the node, drains it, and moves your workloads to another node, lowering the waste by bin packing your cluster.
  5. Once a node becomes empty, theNode deletion policy (that should be enabled), will remove the empty node.