Paused drain configuration

📘

The feature must be enabled for a specific organization. Please contact customer support for assistance.

The Paused Drain feature currently does not support scheduled rebalancing

The Paused Drain configuration in the Rebalancer allows customers to pause cluster rebalancing before the Node Drain and Delete phase. This feature is useful when customers want to integrate rebalancing with operations in their application management flow. For example, if an application image version needs to be updated, new replicas of the updated workload must be scheduled on newly created nodes before removing the original ones.

Step-by-Step Example

Call the Rebalancing Plan Generation API with Paused Drain enabled and specify the duration for which the original nodes should remain in the cordoned state.

API Call Example:

{
  "pausedDrainConfig": {
    "enabled": true,
    "timeoutSeconds": 600
  }
}

A new rebalancing plan is generated and can be triggered by calling the Execute Rebalancing Plan API.

The Rebalancer creates new nodes and stops with the status Completed.

The original (Blue) nodes are cordoned as part of the rebalancing process, and the label autoscaling.cast.ai/draining=rebalancing is applied to them. Additionally, the annotation autoscaling.cast.ai/paused-draining-until with a timestamp is added. Once the timestamp in the annotation is reached, the nodes are uncordoned.

The new (Green) nodes created during rebalancing receive the label autoscaling.cast.ai/removal-disabled-until. The unix timestamp in this label is set to the Paused Drain duration plus 1800 seconds. Until this time is reached, these nodes are protected from deletion.