How maintenance occurs
-
Nebius AI Cloud issues a maintenance event.
When the event is issued, Managed Kubernetes assigns the
NebiusMaintenanceScheduledKubernetes condition. You can check the list of conditions to make sure that the service has issued the event. -
The Managed Kubernetes service detects an event on a node.
The service groups nodes into batches within a given node group. If a lot of maintenance events are expected in a Managed Kubernetes cluster, batches allow you to avoid stopping all nodes at once.
The batch size equals either
1or the value of the maximum unavailable deployment strategy parameter if that value is greater than1. You can check the node group specifications:- CLI
- Go SDK
- Python SDK
- JavaScript SDK
- To stop scheduling new Pods, Managed Kubernetes cordons the node.
- The service waits for running GPU Pods and labeled CPU Pods to finish. If any of these Pods are still running one hour before the SLA deadline, the service stops waiting. The SLA deadline is the latest time the maintenance event should take place. You can check the SLA deadline together with Kubernetes conditions.
- To remove existing Pods, Managed Kubernetes drains the node. The drain takes up to one hour.
- Nebius AI Cloud stops the Compute VM (that is, the node).
- Nebius AI Cloud starts the VM.
- Managed Kubernetes uncordons the node and enables scheduling new Pods.
-
Managed Kubernetes removes the
NebiusMaintenanceScheduledcondition from the node.
Manual launch of maintenance
The service runs maintenance automatically. However, you can launch it manually as well if a maintenance event is issued for your node. For more information, see How to launch maintenance manually in Managed Kubernetes.Postponing node drain
For GPU Pods, Managed Kubernetes waits until the Pods finish or until one hour before the SLA deadline, whichever happens first. Then, the service starts draining the node. For CPU Pods, Managed Kubernetes doesn’t wait for the Pods to finish. If you want Managed Kubernetes to wait for your CPU Pods, assign thenebius.com/defer-maintenance-node-drain: "true" Kubernetes label to the CPU Pods.
A continuously running Pod, such as a Pod managed by a DaemonSet, can’t postpone the drain past the SLA deadline.
For more information, see How to postpone node drain for CPU Pods.