> ## 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.

# How to create a Managed Service for MLflow cluster

To work with MLflow in Nebius AI Cloud, you need to create a Managed Service for MLflow cluster.

Each `medium` cluster includes 8 vCPUs, 32 GiB RAM and a 200 GiB Network SSD disk.

To create a cluster:

<Tabs group="interfaces">
  <Tab title="Web console">
    1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/sidebar/ai-services.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=ab4ff229f7690c99deb1dc52d3daf987" width="16" height="16" data-path="_assets/sidebar/ai-services.svg" /> **AI Services** → **MLflow**.

    2. Click the <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/plus.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=7c9efc69d65fc58db0eb73702fd81aa1" width="16" height="16" data-path="_assets/plus.svg" /> **Create cluster** button.

    3. On the page that opens, enter the cluster name and optional description.

    4. Select the `mlflow-sa` service account. It was created for Managed MLflow by default after you [signed up](/signup-billing/sign-up) for Nebius AI Cloud.

    5. In the **Access** field, select configuration for *tracking endpoints*:

       * **Public and private**: The cluster has both public and private tracking endpoints. You can access the public endpoint from the internet and the private endpoint from the network where the cluster is located (for example, via a virtual machine in this network).
       * **Private only**: The cluster only has a private tracking endpoint.

       URIs of public and private tracking endpoints start with `public-tracking` and `private-tracking`, respectively.

    6. Select a network where the cluster should be located.

    7. Select a `medium` cluster size.

       Each `medium` cluster includes 8 vCPUs, 32 GiB RAM and a 200 GiB Network SSD disk.

    8. In the **Bucket for artifacts** block, select a bucket to store logs and metrics of machine learning experiments launched in the cluster.

       Alternatively, select the **Auto** option to create the bucket automatically.

       This bucket is not deleted automatically after you delete the cluster. You are still charged for the bucket until you [delete](/object-storage/buckets/manage#how-to-delete-buckets) it.

    9. In the **Admin credentials** block, specify the username and password of the cluster administrator.

       The password must be between 8 and 64 characters long and must contain at least the following:

       * One uppercase letter
       * One lowercase letter
       * One digit
       * One special character from **-!@#\$^&\*\_=+:;'"|/?,.\~§±()\[]{}\<>\`**.

    10. Click **Create cluster**.
  </Tab>

  <Tab title="CLI">
    1. [Install](/cli/install) and [configure](/cli/configure) Nebius AI Cloud CLI.

    2. Create a password for administrator access to the cluster and save it to an environment variable:

       ```bash theme={null}
       export PASSWORD=<password>
       ```

       The password must be between 8 and 64 characters long and must contain at least the following:

       * One uppercase letter
       * One lowercase letter
       * One digit
       * One special character from **-!@#\$^&\*\_=+:;'"|/?,.\~§±()\[]{}\<>\`**.

    3. Get the ID of the `mlflow-sa` service account. It was created by default after you [signed up](/signup-billing/sign-up) for Nebius AI Cloud. Save the ID to an environment variable:

       ```bash theme={null}
       export SA_ID=$(nebius iam service-account get-by-name \
         --name mlflow-sa \
         --format json | jq -r '.metadata.id')
       ```

    4. Get the ID of the default network and save it to an environment variable:

       ```bash theme={null}
       export NETWORK_ID=$(nebius vpc network get-by-name \
         --name default-network \
         --format json | jq -r '.metadata.id')
       ```

    5. Create a cluster:

       ```bash theme={null}
       nebius msp mlflow v1alpha1 cluster create \
         --name <cluster_name> \
         --description "<cluster_description>" \
         --network-id $NETWORK_ID \
         --size medium \
         --public-access=<true|false> \
         --admin-username <username> \
         --admin-password $PASSWORD \
         --service-account-id $SA_ID \
         --storage-bucket-name <bucket_name>
       ```

       The command contains the following parameters:

       * `--name`: The cluster name.

       * `--description`: The cluster description.

       * `--network-id`: The [network ID](/vpc/networking/resources#how-to-get-a-network-id).

       * `--size`: The size of resources allocated to the cluster. Only `medium` size is available.

         Each `medium` cluster includes 8 vCPUs, 32 GiB RAM and a 200 GiB Network SSD disk.

       * `--public-access`: Configuration for *tracking endpoints*:

         * If `true`, the cluster has both public and private tracking endpoints. You can access the public endpoint from the internet and the private endpoint from the network where the cluster is located (for example, via a virtual machine in this network).
         * If `false`, the cluster only has a private tracking endpoint.

         URIs of public and private tracking endpoints start with `public-tracking` and `private-tracking`, respectively.

       * `--admin-username`: The name of the cluster administrator, for example `admin`.

       * `--admin-password`: The administrator password that you set earlier.

       * `--service-account-id`: The ID of the `mlflow-sa` service account.

       * `--storage-bucket-name`: The name of the bucket to store logs and metrics from machine learning experiments launched in the cluster. If you do not specify this parameter, a bucket is created automatically.

         This bucket is not deleted automatically after you delete the cluster. You are still charged for the bucket until you [delete](/object-storage/buckets/manage#how-to-delete-buckets) it.
  </Tab>

  <Tab title="Terraform">
    1. [Install and configure](/terraform-provider/quickstart) the Nebius AI Cloud provider for Terraform.

    2. Create the following configuration file:

       ```sh theme={null}
       resource "nebius_msp_mlflow_v1alpha1_cluster" "<cluster_name>" {
          name                = "<cluster_name>"
          description         = "<cluster_description>"
          network_id          = "<network_ID>"
          size                = "medium"
          parent_id           = "<project_ID>"
          public_access       = <true|false>
          admin_username      = "<username>"
          admin_password      = "<password>"
          service_account_id  = "<service_account_ID>"
          storage_bucket_name = "<bucket>"
       }
       ```

       The file contains the following parameters:

       * `name`: The cluster name.

       * `description`: The cluster description.

       * `network_id`: The [network ID](/vpc/networking/resources#how-to-get-a-network-id).

       * `--size`: The size of resources allocated to the cluster. Only `medium` size is available.

         Each `medium` cluster includes 8 vCPUs, 32 GiB RAM and a 200 GiB Network SSD disk.

       * `parent_id`: [Project ID](/iam/manage-projects#terraform-3).

       * `public_access`: Configuration for *tracking endpoints*:

         * If `true`, the cluster has both public and private tracking endpoints. You can access the public endpoint from the internet and the private endpoint from the network where the cluster is located (for example, via a virtual machine in this network).
         * If `false`, the cluster only has a private tracking endpoint.

         URIs of public and private tracking endpoints start with `public-tracking` and `private-tracking`, respectively.

       * `admin_username`: The name of the cluster administrator, for example `admin`.

       * `admin_password`: The administrator password that you set earlier.

         The password must be between 8 and 64 characters long and must contain at least the following:

         * One uppercase letter
         * One lowercase letter
         * One digit
         * One special character from **-!@#\$^&\*\_=+:;'"|/?,.\~§±()\[]{}\<>\`**.

       * `service_account_id`: The ID of the `mlflow-sa` service account. It was created by default after you [signed up](/signup-billing/sign-up) for Nebius AI Cloud.

       * `storage_bucket_name`: The name of the bucket to store logs and metrics from machine learning experiments launched in the cluster. If you do not specify this parameter, a bucket is created automatically.

         This bucket is not deleted automatically after you delete the cluster. You are still charged for the bucket until you [delete](/object-storage/buckets/manage#how-to-delete-buckets) it.

    3. Check that the configuration is correct:

       ```sh theme={null}
       terraform validate
       ```

    4. Apply the changes:

       ```sh theme={null}
       terraform apply
       ```
  </Tab>
</Tabs>
