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:
    kubectl get nodes -o name
    
    Output:
    node/computeinstance-***
    node/computeinstance-***
    ...
    
    The node ID is computeinstance-***.
  3. Check that a maintenance event is issued and the time that it is scheduled for:
    kubectl describe node <node_ID> | grep -A 10 "Conditions:"
    
    If the event is issued, the command shows the NebiusMaintenanceScheduled Kubernetes condition. For example:
    Conditions:
      Type                         Status   LastHeartbeatTime                 LastTransitionTime                Reason                 Message
      ----                         ------   -----------------                 ------------------                ------                 -------
      NebiusMaintenanceScheduled   True     Wed, 08 Aug 2025 14:28:31 +0200   Wed, 08 Aug 2025 14:28:31 +0200   MaintenanceScheduled   Node scheduled for urgent maintenance, SLA deadline is 2025-08-13T12:26:00Z
      ...
    
    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. Get the node group ID:
    nebius mk8s node-group list --parent-id <cluster_ID> 
    
    The node group ID is specified in the items.metadata.id parameter of the output.
  4. Change the maintenance event time:
    kubectl label node <node_group_ID> nebius.com/perform-maintenance=<true|certain_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:
      Time in a given timezoneValueTime in UTC
      June 12, 2025, 8:05 UTC-22025-06-12T08.05.00-02.00June 12, 2025, 10:05 UTC,
      2025-06-12T10.05.00
      June 12, 2025, 8:05 UTC+22025-06-12T08.05.00_02.00June 12, 2025, 6:05 UTC,
      2025-06-12T06.05.00