NodePools

Node pools assist in managing heterogeneous resources effectively. A node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or administrator-defined label (for example, key & value). For more information, see Node Pools.

Get the node pool metrics data. [Experimental]

Retrieve the node pool metrics data by Universally Unique Identifier (UUID).

SecuritybearerAuth
Request
path Parameters
clusterUuid
required
string <uuid> non-empty

The Universally Unique Identifier (UUID) of the cluster.

Example: 9f55255e-11ed-47c7-acef-fc4054768dbc
nodepoolName
required
string

The unique nodepool name.

Example: default
query Parameters
start
required
string <date-time>

Start date of time range to fetch data in ISO 8601 timestamp format.

Example: start=2023-06-06T12:09:18.211Z
end
required
string <date-time>

End date of time range to fetch data in ISO 8601 timestamp format.

Example: end=2023-06-07T12:09:18.211Z
numberOfSamples
integer [ 0 .. 1000 ]
Default: 20

The number of samples to take in the specified time range.

Example: numberOfSamples=20
metricType
required
Array of strings (MetricsType)

specifies what data to request

Items Enum: "TOTAL_GPU_NODES" "GPU_UTILIZATION" "GPU_UTILIZATION_DISTRIBUTION" "GPU_MEMORY_UTILIZATION" "CPU_UTILIZATION" "CPU_MEMORY_UTILIZATION" "TOTAL_GPU" "GPU_QUOTA" "ALLOCATED_GPU" "UNALLOCATED_GPU" "AVG_WORKLOAD_WAIT_TIME"
Responses
200

Executed successfully.

207

Partial success.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/clusters/{clusterUuid}/nodepools/{nodepoolName}/metrics
Response samples
{
  • "measurements": [
    ]
}

Create nodepool

Create nodepool

SecuritybearerAuth
Request
Request Body schema: application/json
required

Nodepool to create.

name
required
string non-empty
labelKey
required
string non-empty

Label key for associated nodes to the Node Pool (with value as in labelValue)

labelValue
required
string non-empty

Label value for associated nodes to the Node Pool (with key as in labelKey)

clusterId
required
string <uuid>
overProvisioningRatio
integer or null [ 1 .. 5 ]
Default: 1
object

scheduling strategy per resource

Responses
201

Created

400

Bad request.

401

Unauthorized

403

Forbidden

503

unexpected error

post/api/v1/node-pools
Request samples
application/json
{
  • "name": "v100",
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "clusterId": "d73a738f-fab3-430a-8fa3-5241493d7128",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    }
}
Response samples
application/json
{
  • "name": "v100",
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "clusterId": "d73a738f-fab3-430a-8fa3-5241493d7128",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    },
  • "phase": "Creating",
  • "phaseMessage": "all nodes are down",
  • "status": {
    },
  • "id": 5,
  • "tenantId": 1,
  • "clusterName": "prod-cluster",
  • "createdBy": "user@lab.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "user@lab.com",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedBy": "user@lab.com",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "isDefault": false
}

Get nodepools

Get nodepools

SecuritybearerAuth
Request
query Parameters
filterBy
Array of strings

Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.

Example: filterBy=name!=some-name
sortBy
string (NodepoolSortFilterFields)

Sort results by a parameters.

Enum: "name" "phase" "clusterId" "createdAt" "updatedAt"
sortOrder
string
Default: "asc"

Sort results in descending or ascending order.

Enum: "asc" "desc"
offset
integer <int32>

The offset of the first item returned in the collection.

Example: offset=100
limit
integer <int32> [ 1 .. 500 ]
Default: 50

The maximum number of entries to return.

Responses
200

ok

400

Bad request.

401

Unauthorized

403

Forbidden

503

unexpected error

get/api/v1/node-pools
Response samples
application/json
{
  • "nodepools": [
    ]
}

Delete nodepool

Delete nodepool

SecuritybearerAuth
Request
path Parameters
nodepoolId
required
string

The unique id identifying the Node Pool.

Example: 17
Responses
202

Accepted.

204

No Content.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/node-pools/{nodepoolId}
Response samples
application/json
{
  • "code": 202,
  • "message": "Request has been accepted."
}

Update nodepool

Update nodepool

SecuritybearerAuth
Request
path Parameters
nodepoolId
required
string

The unique id identifying the Node Pool.

Example: 17
Request Body schema: application/json
required

Nodepool to update.

labelKey
string or null non-empty

Label key for associated nodes to the Node Pool (with value as in labelValue)

labelValue
string or null non-empty

Label value for associated nodes to the Node Pool (with key as in labelKey)

overProvisioningRatio
integer or null [ 1 .. 5 ]
Default: 1
object

scheduling strategy per resource

Responses
200

Updated

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

put/api/v1/node-pools/{nodepoolId}
Request samples
application/json
{
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    }
}
Response samples
application/json
{
  • "name": "v100",
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "clusterId": "d73a738f-fab3-430a-8fa3-5241493d7128",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    },
  • "phase": "Creating",
  • "phaseMessage": "all nodes are down",
  • "status": {
    },
  • "id": 5,
  • "tenantId": 1,
  • "clusterName": "prod-cluster",
  • "createdBy": "user@lab.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "user@lab.com",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedBy": "user@lab.com",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "isDefault": false
}

Patch nodepool fields

Update only specific fields of a nodepool

SecuritybearerAuth
Request
path Parameters
nodepoolId
required
string

The unique id identifying the Node Pool.

Example: 17
Request Body schema: application/json
required

Fields to update.

labelKey
string or null non-empty

Label key for associated nodes to the Node Pool (with value as in labelValue)

labelValue
string or null non-empty

Label value for associated nodes to the Node Pool (with key as in labelKey)

overProvisioningRatio
integer or null [ 1 .. 5 ]
Default: 1
object

scheduling strategy per resource

Responses
200

Updated

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

patch/api/v1/node-pools/{nodepoolId}
Request samples
application/json
{
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    }
}
Response samples
application/json
{
  • "name": "v100",
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "clusterId": "d73a738f-fab3-430a-8fa3-5241493d7128",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    },
  • "phase": "Creating",
  • "phaseMessage": "all nodes are down",
  • "status": {
    },
  • "id": 5,
  • "tenantId": 1,
  • "clusterName": "prod-cluster",
  • "createdBy": "user@lab.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "user@lab.com",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedBy": "user@lab.com",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "isDefault": false
}

Get nodepool

Get nodepool

SecuritybearerAuth
Request
path Parameters
nodepoolId
required
string

The unique id identifying the Node Pool.

Example: 17
Responses
200

Requested nodepool

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/node-pools/{nodepoolId}
Response samples
application/json
{
  • "name": "v100",
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "clusterId": "d73a738f-fab3-430a-8fa3-5241493d7128",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    },
  • "phase": "Creating",
  • "phaseMessage": "all nodes are down",
  • "status": {
    },
  • "id": 5,
  • "tenantId": 1,
  • "clusterName": "prod-cluster",
  • "createdBy": "user@lab.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "user@lab.com",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedBy": "user@lab.com",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "isDefault": false
}

Get the cluster's Node Pools.Deprecated

Retrieve all the node pools with details from the cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

SecuritybearerAuth
Request
path Parameters
clusterId
required
string <uuid>

Unique identifier of the cluster

Responses
200

Node pools returned successfully.

403

Unauthorized

404

The specified resource was not found

default

unexpected error

get/v1/k8s/clusters/{clusterId}/node-pools
Response samples
application/json
[
  • {
    }
]

Create a Node Pool.Deprecated

Use to create a node pool in a cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

SecuritybearerAuth
Request
path Parameters
clusterId
required
string <uuid>

Unique identifier of the cluster

Request Body schema: application/json
name
string

Node Pool Name

overProvisioningRatio
integer
Default: 1
labelKey
string

Label key for associated nodes to the Node Pool (with value as in labelValue)

labelValue
string

Label value for associated nodes to the Node Pool (with key as in labelKey)

object (PlacementStrategy1)
Responses
201

Created

400

Bad request.

409

conflict error

default

unexpected error

post/v1/k8s/clusters/{clusterId}/node-pools
Request samples
application/json
{
  • "name": "node-pool-a",
  • "overProvisioningRatio": 1,
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "placementStrategy": {
    }
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Bad request - Resource should have a name"
}

Update labels of a Node Pool.Deprecated

Use to update the labels of a node pool. Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

SecuritybearerAuth
Request
path Parameters
clusterId
required
string <uuid>

Unique identifier of the cluster

id
required
integer

The unique id identifying the Node Pool.

Request Body schema: application/json
required
labelKey
string

key of node label for pool

labelValue
string

value of node label for pool

Responses
202

Node Pool update accepted.

400

Bad request.

403

Unauthorized

404

The specified resource was not found

503

unexpected error

put/v1/k8s/clusters/{clusterId}/node-pools/{id}/labels
Request samples
application/json
{
  • "labelKey": "node-type",
  • "labelValue": "type-x"
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Bad request - Resource should have a name"
}

Delete a Node Pool by id.§Deprecated

Use to delete a node pool by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools/{id} instead.

SecuritybearerAuth
Request
path Parameters
clusterId
required
string <uuid>

Unique identifier of the cluster

id
required
integer

The unique id identifying the Node Pool.

Responses
202

Node Pool deletion accepted

400

Bad request.

403

Unauthorized

404

The specified resource was not found

503

unexpected error

delete/v1/k8s/clusters/{clusterId}/node-pools/{id}
Response samples
application/json
{
  • "code": 400,
  • "message": "Bad request - Resource should have a name"
}

Update a Node Pool.Deprecated

Use to update the details of a node pool by Universally Unique Identifier (UUID). Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

SecuritybearerAuth
Request
path Parameters
clusterId
required
string <uuid>

Unique identifier of the cluster

id
required
integer

The unique id identifying the Node Pool.

Request Body schema: application/json
required
labelKey
string

key of node label for pool

labelValue
string

value of node label for pool

overProvisioningRatio
integer
Default: 1
object (PlacementStrategy1)
Responses
202

Node Pool update accepted.

400

Bad request.

403

Unauthorized

404

The specified resource was not found

503

unexpected error

put/v1/k8s/clusters/{clusterId}/node-pools/{id}
Request samples
application/json
{
  • "labelKey": "node-type",
  • "labelValue": "type-x",
  • "overProvisioningRatio": 1,
  • "placementStrategy": {
    }
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Bad request - Resource should have a name"
}