Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Node auto-drain helps you protect your node workloads from disruptions when scheduled events occur on the underlying virtual machines (VMs) in any of your node pools. When certain node events happen, node auto-drain attempts a cordon and drain of the affected node so the workloads can be rescheduled safely. An example of when node auto-drain might occur is when scheduled events on a spot node pool cause a preempt node event. The spot node with the taint "kubernetes.azure.com/scalesetpriority: spot" may receive a taint with "remediator.kubernetes.azure.com/unschedulable" when a scheduled event occurs on that node.
Note
Node auto-drain is a best effort service and can't be guaranteed to operate perfectly in all scenarios.
Scheduled event actions
The following table shows the node events for AKS node auto-drain and describes their associated actions:
| Event | Description | Action |
|---|---|---|
| Freeze | The underlying virtual machine (VM) is scheduled to pause for a few seconds. CPU and network connectivity might be suspended, but there's no impact on memory or open files. | Opt in to pod eviction on freeze events (preview). |
| Reboot | The VM is scheduled for reboot. The VM's non-persistent memory is lost. | No action. |
| Redeploy | The VM is scheduled to move to another node. The VM's ephemeral disks are lost. | Cordon and drain. |
| Preempt | The spot VM is being deleted. The VM's ephemeral disks are lost. | Cordon and drain. |
| Terminate | The VM is scheduled for deletion. | Cordon and drain (requires Virtual Machine Scale Set terminate notifications). |
Note
Redeploy and Preempt use default behavior and don't require extra configuration. Freeze and Terminate require opt-in configuration:
- Freeze: Configure pod eviction for freeze events.
- Terminate: Enable Virtual Machine Scale Set terminate notifications as a prerequisite for AKS node auto-drain.
Next steps
- Configure pod eviction for freeze events (preview)
- Use availability zones to increase high availability with your AKS cluster workloads.