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

# create

<div>
  <h2>Name</h2>

  <p style={{ paddingLeft: "4ch" }}>
    <code>nebius mk8s cluster create</code>
  </p>

  <p style={{ paddingLeft: "7ch" }}>
    Creates a new mk8s cluster.
  </p>
</div>

<div>
  <h2>Synopsis</h2>

  <p style={{ paddingLeft: "4ch" }}>
    ```
    nebius mk8s cluster create
      --control-plane-audit-logs
      --control-plane-endpoints-public-endpoint
      --control-plane-etcd-cluster-size
      --control-plane-karpenter
      --control-plane-subnet-id [required]
      --control-plane-version
      --kube-network-service-cidrs
      --labels
      --name
      --parent-id [required]
      --resource-version
      --async
      -i, --interactive
    ```
  </p>
</div>

<div>
  <h2>Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-audit-logs` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Specify configuration of the pushing k8s audit logs into service logs and show it in the UI.<br />
      By default cluster will be created without it.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-endpoints-public-endpoint` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Public endpoint specification. When set, a public endpoint is created.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-etcd-cluster-size` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Number of instances in etcd cluster.<br />
      3 by default.<br />
      Control plane with `etcd_cluster_size: 3` called "Highly Available" ("HA"), because it's Kubernetes API<br />
      will be available despite a failure of one control plane instance.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-karpenter` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enables installation of the Karpenter inside a cluster.<br />
      Karpenter will be installed as a helm chart inside cluster<br />
      so it requires creation of at least one CPU public node group.<br />

      <br />

      Please note that there is no feature parity between Karpenter node pools and<br />
      public node groups.<br />
      By default cluster will be created without it.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-subnet-id` (string)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Nebius VPC Subnet ID where control plane instances will be located.<br />
      Also will be default NodeGroup subnet.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--control-plane-version` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Desired Kubernetes version of the cluster. For now only acceptable format is<br />
      `<major>.<minor>` like "1.31". Option for patch version update will be added later.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--kube-network-service-cidrs` (string array)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      CIDR blocks for Service ClusterIP allocation.<br />
      For now, only one value is supported.<br />
      Must be a valid CIDR block or prefix length.<br />
      In case of prefix length, certain CIDR is auto allocated.<br />
      Specified CIDR blocks will be reserved in Cluster.spec.control\_plane.subnet\_id to prevent address duplication.<br />
      Allowed prefix length is from "/12" to "/28".<br />
      Empty value treated as \["/16"].
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--labels` (string->string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Labels associated with the resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--name` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Human readable name for the resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--parent-id` (string)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Identifier of the parent resource to which the resource belongs.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--resource-version` (int64)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Version of the resource for safe concurrent modifications and consistent reads.<br />
      Positive and monotonically increases on each resource spec change (but *not* on each change of the<br />
      resource's container(s) or status).<br />
      Service allows zero value or current.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--async` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      If set, returns operation id. Otherwise, waits for the operation to complete and returns its resource.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-i, --interactive` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      If set, suggests to insert field values in interactive mode.
    </p>
  </div>
</div>

<div>
  <h2>Global Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-h, --help` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Show this message.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-p, --profile` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set a profile for interacting with the cloud.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--format` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Output format. Supported values: yaml|json|jsonpath|table|text.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-f, --file` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Input file. For 'update' commands automatically set --full=true.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-c, --config` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Provide path to config file.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--debug` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable debug logs.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--color` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable colored output.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-browser` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Do not open browser automatically on auth.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--insecure` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Disable transport security.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--auth-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the request including authentication process, default is 15m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--per-retry-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for each retry attempt, default is 20s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--retries` (uint)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the number of retry attempts, 1 is disable retries, default is 3.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the main request, default is 1m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-check-update` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress check for updates.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-progress` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress progress indicators and spinners.
    </p>
  </div>
</div>

<Expandable title="Input argument JSON Schema">
  <Tabs>
    <Tab title="Full">
      ```json theme={null}
      {              
        "metadata": {                // [required]
          "labels": {                // [map]
                                     // Labels associated with the resource.
            string: string                  
          },
          "name": string,            // Human readable name for the resource.
          "parent_id": string,       // [required]
                                     // Identifier of the parent resource to which the resource belongs.
          "resource_version": int64  // Version of the resource for safe concurrent modifications and consistent reads.
                                     // Positive and monotonically increases on each resource spec change (but *not* on each change of the
                                     // resource's container(s) or status).
                                     // Service allows zero value or current.
        },
        "spec": {            // [required]
          "control_plane": {            // [required]
            "audit_logs": { // [meaningful_empty_value]
                            // Specify configuration of the pushing k8s audit logs into service logs and show it in the UI.
                            // By default cluster will be created without it.
            },
            "endpoints": {         // Specification of endpoints of cluster control plane.
              "public_endpoint": { // [meaningful_empty_value]
                                   // Public endpoint specification. When set, a public endpoint is created.
              }
            },
            "etcd_cluster_size": int64, // Number of instances in etcd cluster.
                                        // 3 by default.
                                        // Control plane with `etcd_cluster_size: 3` called "Highly Available" ("HA"), because it's Kubernetes API
                                        // will be available despite a failure of one control plane instance.
            "karpenter": { // [meaningful_empty_value]
                           // Enables installation of the Karpenter inside a cluster.
                           // Karpenter will be installed as a helm chart inside cluster
                           // so it requires creation of at least one CPU public node group.
                           // 
                           // Please note that there is no feature parity between Karpenter node pools and
                           // public node groups.
                           // By default cluster will be created without it.
            },
            "subnet_id": string,        // [required] [immutable]
                                        // Nebius VPC Subnet ID where control plane instances will be located.
                                        // Also will be default NodeGroup subnet.
            "version": string           // Desired Kubernetes version of the cluster. For now only acceptable format is
                                        // `<major>.<minor>` like "1.31". Option for patch version update will be added later.
          },
          "kube_network": {            // Defines kubernetes network configuration, like IP allocation.
            "service_cidrs": [string]  // [immutable]
                                       // CIDR blocks for Service ClusterIP allocation.
                                       // For now, only one value is supported.
                                       // Must be a valid CIDR block or prefix length.
                                       // In case of prefix length, certain CIDR is auto allocated.
                                       // Specified CIDR blocks will be reserved in Cluster.spec.control_plane.subnet_id to prevent address duplication.
                                       // Allowed prefix length is from "/12" to "/28".
                                       // Empty value treated as ["/16"].
          }
        }
      }
      ```
    </Tab>

    <Tab title="CopyPaste Friendly">
      ```json theme={null}
      nebius mk8s cluster create '
      {              
        "metadata": {           
          "labels": {           
            "": ""                  
          },
          "name": "",           
          "parent_id": "",      
          "resource_version": 0 
        },
        "spec": {           
          "control_plane": {       
            "audit_logs": {
            },
            "endpoints": {        
              "public_endpoint": {
              }
            },
            "etcd_cluster_size": 0,
            "karpenter": {
            },
            "subnet_id": "",       
            "version": ""          
          },
          "kube_network": {       
            "service_cidrs": [""] 
          }
        }
      }
      '
      ```
    </Tab>
  </Tabs>
</Expandable>

<strong>Auto generated on 7-May-2026</strong>
