Evictor vs. Rebalancer

While both Evictor and Rebalancer optimize your cluster, they serve different purposes and work in complementary ways. Understanding these differences is important to maximizing the use of these tools and achieving the optimal cluster state.

Evictor solves the "wasted space" problem by continuously reorganizing your existing workloads to use fewer nodes. Think of it like a smart packing algorithm that consolidates your pods into the minimum number of nodes needed, allowing unused nodes to be safely removed by the autoscaler's node deletion policy, saving costs.

Rebalancer solves the "wrong infrastructure" problem by replacing your current nodes with better, more cost-effective options. As cloud providers release new instance types and prices change, Rebalancer ensures your cluster uses the most optimal instances available.

Together, these tools address two major sources of Kubernetes waste: poor pod distribution and suboptimal node selection. While both optimize your cluster, they serve different purposes and work in complementary ways.

Key differences

AspectEvictorRebalancer
Primary purposePod consolidation within existing nodesNode replacement with optimal instances
Node managementCannot add or remove nodes¹Adds new nodes, then removes old ones
Pod handlingActively moves pods between existing nodes for better consolidation and resource use (respects PDBs and affinity rules)Drains old nodes; pods reschedule to new nodes
Operation frequencyContinuous (every 60 seconds by default)On-demand or scheduled
Disruption levelLower (uses existing nodes)Higher (replaces entire nodes)

¹ Evictor's pod consolidation often results in empty nodes that are then removed by the autoscaler's node deletion policy.

Workload compatibility

The following table shows how different workload types are handled during optimization by each tool.

Legend:

  • ✓ = Will handle this workload type during optimization
  • ✗ = Will not handle this workload type (considered problematic)
Workload typeEvictor (standard)Evictor (aggressive)Rebalancer (standard)Rebalancer (aggressive)
Single replica deployment✗²
Multi-replica pods
Bare pod (no controller)✗²✗²✗²
Jobs/CronJobs✗²✗²
StatefulSet✗²✗²³

² These workloads are considered "problematic" and are skipped to avoid disruption
³ Can be configured via advanced configuration options

When to use each tool

We recommend using both tools for optimal cluster efficiency.

Evictor should be enabled for all clusters as it provides continuous, automatic optimization with minimal disruption. Once enabled in your Autoscaler settings, Evictor runs continuously to maintain minimal pod distribution and optimal bin-packing.

Rebalancer should be used regularly (ideally scheduled) to ensure your cluster uses the most cost-effective and up-to-date instance types. Regular rebalancing prevents infrastructure drift and captures ongoing cloud provider improvements.

Best practice approach:

  • Enable Evictor for continuous bin-packing and utilization optimization
  • Schedule regular Rebalancing (weekly/monthly) for comprehensive node optimization through replacement
  • Use Rebalancer on-demand (manual rebalancing) for immediate optimization; for example, after significant workload changes

Getting started

To enable Evictor:

  1. Navigate to Autoscaler > Settings in the Cast AI console

  2. Enable the Node deletion policy to automatically remove empty nodes that Evictor creates

  3. Enable Evictor (Node deletion policy must be enabled for Evictor to become available)

  4. Optionally enable Aggressive mode for fault-tolerant workloads in non-production environments

For advanced configuration and more detailed guidance, see the Evictor documentation

To use Rebalancer:

  1. Go to Cluster > Rebalancing for full cluster optimization

  2. Or select specific nodes via Cluster > Node list > Select nodes > Rebalance nodes

  3. For scheduled operations, see Scheduled rebalancing

For preparation guidance and best practices, see Rebalancing preparation