> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Capacity reservations for Managed Service for Kubernetes® node groups

To make sure that GPU capacity is always available for your nodes (virtual machines, VMs), you can reserve GPUs. A *reservation* represents a [capacity block group](/overview/limits/capacity-block-groups), and it reserves a specific number of GPUs that are allocated to your infrastructure. GPUs from a reservation remain available, even if a VM is stopped. Without reservations, GPU capacity is taken from a shared pool and returned when a VM is stopped (for example, by you or a [maintenance event](../maintenance/index)).

To start using reservations, send a request to your Nebius manager. In this request, specify how many GPUs you would like to reserve and for what period. If you are not in contact with a Nebius manager, you can ask [technical support](https://console.nebius.com/support/create-ticket) to connect you with one.

After reservations are ready, you can add them to your existing node groups or create new ones with reservations. You can also check your capacity block groups on the **Limits** page and get detailed information about them. For more information, see [List of capacity block groups](/overview/limits/capacity-block-groups#list-of-capacity-block-groups).

<Note>
  GPUs allocated from reservations do not count towards [quotas on the number of GPUs](/compute/resources/quotas-limits#gpu-virtual-machines).
</Note>

## How to add reservations to node groups

Node groups of a regular type with GPUs support reservations. [Preemptible node groups](./manage#preemptible-node-groups) and node groups without GPUs do not support reservations.

<Tabs>
  <Tab title="Web console">
    If you want to [create a node group](./manage#regular-node-groups), in the creation form, under **Computing resources**, select **With GPU** and a regular VM type. After that, specify the **Reservation usage** settings.

    If you want to modify an existing node group, go to its **Settings** tab on the node group page. Next, update the **Reservation usage** settings.

    The **Reservation usage** settings are only displayed if you have capacity block groups.

    Available **Reservation usage** options:

    * **With reservations**: Resources are allocated from reservations.

      You can use one of the following reservation types:

      * **Any** (default): You do not need to select reservations. The service uses the reservations that are most suitable for the configuration of your VM.
      * **Specific**: Select specific reservations. Make sure to select reservations that have enough capacity and that do not expire in several days.

      If there are no reservations available during the VM lifecycle, you can run your VM without reservations. Resources for it will be taken from the common pool. To configure this behavior, enable the **Start without a reservation when reservation capacity is exhausted** option.

    * **Without reservations**: Resources are allocated from the common pool, and no reservations are used for the node group.
  </Tab>

  <Tab title="CLI">
    To configure reservations, use the `--template-reservation-policy-*` parameters when creating or updating a node group:

    * Create a node group:

      ```bash theme={null}
      nebius mk8s node-group create \
         ... \
         --template-reservation-policy-policy <auto|forbid|strict> \
         --template-reservation-policy-reservation-ids <reservations>
      ```

    * Update a node group:

      ```bash theme={null}
      nebius mk8s node-group update \
         ... \
         --template-reservation-policy-policy <auto|forbid|strict> \
         --template-reservation-policy-reservation-ids <reservations>
      ```

    Description of the parameters:

    * `--template-reservation-policy-policy`: Policy for reservation usage. Supports the following values:

      * `auto`: Node group resources are allocated from reservations. If no reservations are currently available, the node group runs without them. In this case, resources for the node group are provided from the common pool.

            <Note>
              The `auto` value is default. If you don't have any reservations and you don't set the `--template-reservation-policy-policy` parameter, the `auto` value applies and the node group runs without reservations.
            </Note>

      * `forbid`: Node group resources are provided from the common pool, and no reservations are used.

      * `strict`: Node group resources are exclusively allocated from reservations. The node group doesn't run without the reservations.

    * `--template-reservation-policy-reservation-ids` (optional): IDs of specific reservations (capacity block groups). Use this parameter only if you need specific reservations.

      Specify the IDs in the order in which reservations should apply. For instance, resources should be allocated from the first specified reservation. When it is exhausted or expired, the service uses resources from the second specified reservation, and so on.

      Make sure to select reservations that have enough capacity and that do not expire in several days.

    To find out how different combinations of parameter values impact the result, see the table below:

    | `policy` | `reservation-ids` | **Behavior**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |   |
    | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
    | `auto`   | Not specified     | <p>Managed Kubernetes tries to launch a node group in any available and suitable reservation. If none is found, resources for all nodes in the node group are provided from the common pool, not from a reservation.</p><p>If a reservation doesn't have enough capacity for the whole node group, it uses all the resources available in this reservation and also takes resources from the common pool. In other words, resources for some nodes are provided from the reservation, and resources for the rest of the nodes are provided from the common pool.</p> |   |
    | `auto`   | Specified         | Managed Kubernetes tries to launch a node group in one of the specified reservations. If none of them fit (for example, they are not currently active or there are not enough GPUs), the same logic of the `auto` policy applies.                                                                                                                                                                                                                                                                                                                                    |   |
    | `forbid` | Not specified     | Node group resources are provided from the common pool. No reservations are used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |   |
    | `forbid` | Specified         | Not supported. If you apply this combination, it will result in a validation error.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |   |
    | `strict` | Not specified     | Managed Kubernetes tries to launch a node group in any available and suitable reservation. If none is found, a request for creating or updating a node group fails.                                                                                                                                                                                                                                                                                                                                                                                                  |   |
    | `strict` | Specified         | Managed Kubernetes tries to launch a node group in one of the specified reservations. If none of them fit, a request for creating or updating a node group fails.                                                                                                                                                                                                                                                                                                                                                                                                    |   |
  </Tab>

  <Tab title="Terraform">
    To configure reservations in the node group, use the `reservation_policy` parameter:

    ```hcl theme={null}
    resource "nebius_mk8s_v1_node_group" "my_node_group" {
      ...
      reservation_policy = {
        policy          = "<AUTO|FORBID|STRICT>"
        reservation_ids = "<reservations>"
      }
      ...
    }
    ```

    Description of the parameters:

    * `policy`: Policy for reservation usage. Supports the following values:

      * `AUTO`: Node group resources are allocated from reservations. If no reservations are currently available, the node group runs without them. In this case, resources for the node group are provided from the common pool.

            <Note>
              The `AUTO` value is default. If you don't have any reservations and you don't set the `policy` parameter, the `AUTO` value applies and the node group runs without reservations.
            </Note>

      * `FORBID`: Node group resources are provided from the common pool, and no reservations are used.

      * `STRICT`: Node group resources are exclusively allocated from reservations. The node group doesn't run without the reservations.

    * `reservation_ids`: IDs of specific reservations (capacity block groups). You can use this parameter with the `AUTO` and `STRICT` reservation usages:

      Specify the IDs in the order in which reservations should apply. For instance, resources should be allocated from the first specified reservation. When it is exhausted or expired, the service uses resources from the second specified reservation, and so on.

      Make sure to select reservations that have enough capacity and that do not expire in several days.

    To find out how different combinations of parameter values impact the result, see the table below:

    | `policy` | `reservation_ids` | **Behavior**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
    | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `AUTO`   | Not specified     | <p>Managed Kubernetes tries to launch a node group in any available and suitable reservation. If none is found, resources for all nodes in the node group are provided from the common pool, not from a reservation.</p><p>If a reservation doesn't have enough capacity for the whole node group, it uses all the resources available in this reservation and also takes resources from the common pool. In other words, resources for some nodes are provided from the reservation, and resources for the rest of the nodes are provided from the common pool.</p> |
    | `AUTO`   | Specified         | Managed Kubernetes tries to launch a node group in one of the specified reservations. If none of them fit (for example, they are not currently active or there are not enough GPUs), the same logic of the `AUTO` policy applies.                                                                                                                                                                                                                                                                                                                                    |
    | `FORBID` | Not specified     | Node group resources are provided from the common pool. No reservations are used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    | `FORBID` | Specified         | Not supported. If you apply this combination, it will result in a validation error.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    | `STRICT` | Not specified     | Managed Kubernetes tries to launch a node group in any available and suitable reservation. If none is found, a request for creating or updating a node group fails.                                                                                                                                                                                                                                                                                                                                                                                                  |
    | `STRICT` | Specified         | Managed Kubernetes tries to launch a node group in one of the specified reservations. If none of them fit, a request for creating or updating a node group fails.                                                                                                                                                                                                                                                                                                                                                                                                    |
  </Tab>
</Tabs>

## What's next

To find information about reservations, check the pages of your VMs (nodes). The VM page and the list of VMs show what reservation policy you have configured and what reservations currently apply. For more information, see [How to find information about reservations for an already configured VM](/compute/virtual-machines/reservations#how-to-find-information-about-reservations-for-an-already-configured-vm).

For details about how billing works when you use reservations, see [Billing for reservations](/compute/virtual-machines/reservations#billing-for-reservations).

## See also

* [Capacity block groups in Nebius AI Cloud](/overview/limits/capacity-block-groups)
* [Capacity reservations for Compute virtual machines](/compute/virtual-machines/reservations)
