Skip to main content
Maintenance in Managed Service for Kubernetes is scheduled automatically when Nebius AI Cloud issues a maintenance event. However, you also have an option to launch maintenance manually. You can only do that if a maintenance event is issued for a given node. You can check the event upfront, before you proceed with the manual maintenance launch.

How to check that a maintenance event is issued

  1. Connect to your Managed Kubernetes cluster.
  2. Get the node ID:
    Output:
    The node ID is computeinstance-***.
  3. Check that a maintenance event is issued and the time that it is scheduled for:
    If the event is issued, the command shows the NebiusMaintenanceScheduled Kubernetes condition. For example:
    In the Message column, the command shows the SLA deadline: the latest time the maintenance event should take place.

How to launch maintenance manually in Managed Kubernetes

  1. Connect to your Managed Kubernetes cluster.
  2. Make sure that a maintenance event is issued.
  3. Change the maintenance event time:
    If you want to start the node drain and the maintenance as soon as possible, set the true value for the nebius.com/perform-maintenance Kubernetes label. Alternatively, you can set a specific time for the maintenance. For a specific time, make sure that the following conditions are met:
    • The time should not be in the past. If you set a time in the past, the true value applies instead, and the node drain starts as soon as possible.
    • The time should be at least five minutes earlier than the SLA deadline. Otherwise, the time is ignored, and the true value applies.
    Managed Kubernetes supports the following two formats for the time value:
    • Unix time in seconds, for example, 1262304000. This format implies the UTC timezone by default.
    • RFC 3339 modified for Kubernetes labels:
      • Use a full stop . as a separator, instead of a colon :.
      • Use the _hh.mm format to specify a UTC+N timezone (for example, _02.00 for UTC+2).
      • Use the -hh.mm format to specify a UTC-N timezone (for example, -03.00 for UTC-3).
      You may opt not to specify a timezone in the value. In this case, Managed Kubernetes uses the UTC timezone by default. Examples of RFC 3339 values:

How to postpone node drain for CPU Pods

For CPU Pods, Managed Kubernetes doesn’t wait for the Pods to finish before draining the node. If you want Managed Kubernetes to wait for your CPU Pods, assign the nebius.com/defer-maintenance-node-drain: "true" Kubernetes label to the Pods. For more information about how postponing node drain works, see Postponing node drain. To postpone the node drain for CPU Pods:
  1. Connect to your Managed Kubernetes cluster.
  2. Add the Kubernetes label to the Pods:
    • To add the label to new Pods when you’re creating them, include the label in the configuration:
    • To apply the label to existing Pods, run:
    app=<app_name> is used to identify Pods. If they use a different identifying label, use that label in the selector.
  3. Check that the label is assigned to the Pods:
    This command lists the Pods with app=<app_name> and displays true for the nebius.com/defer-maintenance-node-drain Kubernetes label in an additional column. For example:
    If the label was not added successfully, the last column is empty.