Updated on 2026-01-30 GMT+08:00

Updating a Node Pool

Function

This API is used to update the configurations of a specified node pool. This API is used when you need to expand the capacity of a node pool, adjust node specifications, optimize resource allocation, or repair node pool configurations. Before using this API, ensure that the node pool exists and you have the administrator permissions. After the update, the configurations of the node pool will be updated, including the number of nodes, node specifications, and network configurations. If the node pool does not exist, the user does not have the permission to operate the node pool, or the configuration parameters are incorrect, the API will return an error message.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, no identity policy-based permission required for calling this API.

URI

PATCH /v2/{project_id}/pools/{pool_name}/nodepools/{nodepool_name}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition: User project ID. For details, see Obtaining a Project ID and Name.

Constraints: N/A

Range: N/A

Default Value: N/A

pool_name

Yes

String

Definition: Resource pool name.

Constraints: N/A

Range: N/A

Default Value: N/A

nodepool_name

Yes

String

Definition: Node pool name.

Constraints: N/A

Range: N/A

Default Value: N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Definition: Message body type (format).

Constraints: N/A

Range

  • application/merge-patch+json

Default Value: N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

metadata

No

PatchNodePoolMetaVO object

Definition: Node pool metadata.

spec

Yes

NodePoolSpec object

Definition: Request body for updating a node pool.

Table 4 PatchNodePoolMetaVO

Parameter

Mandatory

Type

Description

annotations

No

PatchNodePoolAnnotations object

Definition: Node pool annotations.

Table 5 PatchNodePoolAnnotations

Parameter

Mandatory

Type

Description

os.modelarts/billing.mode

No

String

Definition: Specifies the billing mode. If this parameter is not specified, new nodes use the existing settings for the resource pool.

Range:

  • 0: Pay-per-use

os.modelarts/period.num

No

String

Definition: Subscription period on a yearly/monthly basis, for example, 2. This parameter is mandatory when the billing mode is yearly/monthly.

Range: N/A.

os.modelarts/period.type

No

String

Definition: Subscription type on a yearly/monthly basis. This parameter is mandatory when the billing mode is yearly/monthly.

Range:

  • 2: Monthly

  • 3: Year

os.modelarts/auto.renew

No

String

Definition: Specifies whether auto-renewal is enabled. If this parameter is not specified, new nodes use the existing settings for the resource pool.

Range:

  • 0: Auto-renewal disabled (default value)

  • 1: Auto-renewal enabled

os.modelarts/promotion.info

No

String

Definition: Discount selected on the operations platform.

Range: N/A.

os.modelarts/service.console.url

No

String

Definition: URL of the page displayed after the subscription order is paid.

Range: N/A.

os.modelarts/order.id

No

String

Definition: Order ID, which is mandatory for creating a yearly/monthly resource or changing the billing mode.

Range: N/A.

Table 6 NodePoolSpec

Parameter

Mandatory

Type

Description

resources

Yes

PoolResource object

Definition: List of resources in a node pool, including resource flavors, quantity, and custom configurations.

Range: N/A

Table 7 PoolResource

Parameter

Mandatory

Type

Description

flavor

Yes

String

Definition: Resource flavor name, for example, modelarts.vm.gpu.t4u8.

Range: N/A.

count

Yes

Integer

Definition: Committed specifications.

Range: N/A.

maxCount

Yes

Integer

Definition: Elastic usage of the resource flavor. This parameter value is the same the count value in a physical pool.

Range: N/A.

azs

No

Array of PoolNodeAz objects

Definition: AZ information of nodes in the resource pool.

nodePool

No

String

Definition: Node pool name, for example, nodePool-1.

Range: N/A.

taints

No

Array of Taints objects

Definition: Taints to be added to nodes to set anti-affinity. This parameter cannot be specified for a non-privileged pool.

labels

No

Map<String,String>

Definition: Kubernetes label, in key-value pair format.

tags

No

Array of UserTags objects

Definition: Resource tag. This parameter cannot be specified for a non-privileged pool.

network

No

NodeNetwork object

Definition: Network configuration. This parameter cannot be specified for a non-privileged pool.

extendParams

No

ResourceExtendParams object

Definition: Custom configuration.

creatingStep

No

CreatingStep object

Definition: Information about batch creation.

rootVolume

No

RootVolume object

Definition: Information about the custom system disk (cloud hard disk).

dataVolumes

No

Array of DataVolumeItem objects

Definition: List of custom data disks (cloud hard disks).

volumeGroupConfigs

No

Array of VolumeGroupConfig objects

Definition: Advanced disk configuration. This parameter is mandatory when a custom data disk exists.

os

No

Os object

Definition: OS image information.

Table 8 PoolNodeAz

Parameter

Mandatory

Type

Description

az

Yes

String

Definition: AZ name.

Range: N/A

count

Yes

Integer

Definition: Number of AZ resource instances.

Range: N/A

Table 9 Taints

Parameter

Mandatory

Type

Description

key

Yes

String

Definition: Key.

Range: N/A

value

No

String

Value.

effect

Yes

String

Effect.

Table 10 UserTags

Parameter

Mandatory

Type

Description

key

Yes

String

Definition: Key. The value cannot start with CCE- or __type_baremetal.

Range: N/A

value

Yes

String

Value.

Table 11 NodeNetwork

Parameter

Mandatory

Type

Description

vpc

No

String

  • Definition: VPC ID.

Range: N/A.

subnet

No

String

Definition: Subnet ID.

Range: N/A.

securityGroups

No

Array of strings

Definition: Security group ID set.

Table 12 ResourceExtendParams

Parameter

Mandatory

Type

Description

dockerBaseSize

No

String

Definition: Container image space of a node.

Range:

  • Specified: The default value of dockerBaseSize ranges from 50 to 500. However, the actual value is restricted by the container data disk size of the node.

  • Unlimited: *dockerBaseSize="0, indicating that the container image space is not limited.

postInstall

No

String

Definition: Post-installation script. The entered value must be encoded using Base64.

Range: N/A.

runtime

No

String

Definition: Container runtime.

Range:

  • docker: Container runtime. It is the most commonly used container engine, which is used to create and manage container instances based on container images.

  • containerd: Industrial-grade container runtime. It focuses on container lifecycle management and is one of the core components at the bottom layer of Docker. It can also be deployed independently.

labelPolicyOnExistingNodes

No

String

Definition: Kubernetes label update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

taintPolicyOnExistingNodes

No

String

Definition: Kubernetes taint update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

tagPolicyOnExistingNodes

No

String

Definition: Resource tag update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

XParameterPlaneSubnet

No

String

Definition: Subnet ID used for data transmission on the parameter plane between physical clusters. The value cannot be the same as the node subnet or container subnet.

Range: N/A.

nodePoolName

No

String

Definition: Name of the node pool specified by you. The value is a string of 2 to 50 characters, consisting of lowercase letters, hyphens (-), and digits. It must start with a lowercase letter and cannot end with a hyphen (-) or -default.

Range: N/A.

Table 13 CreatingStep

Parameter

Mandatory

Type

Description

step

No

Integer

Definition: Step of a supernode.

Constraints: N/A

Range: Only the step contained in the resource specification details is supported.

Default Value: N/A

type

No

String

Definition: Batch creation type.

Constraints: N/A

Range:

  • hyperinstance: supernode

Default Value: N/A

Table 14 RootVolume

Parameter

Mandatory

Type

Description

volumeType

Yes

String

Definition: Disk type..

Range:

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

size

Yes

String

Definition: Disk size, in GiB.

Range: N/A.

Table 15 DataVolumeItem

Parameter

Mandatory

Type

Description

volumeType

Yes

String

Definition: Disk type..

Range:

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

size

Yes

String

Definition: Disk size, in GiB.

Range: N/A.

count

No

Integer

Definition: Number of disks.

Range: N/A.

extendParams

Yes

VolumeExtendParams object

Definition: Custom disk configuration.

Table 16 VolumeExtendParams

Parameter

Mandatory

Type

Description

volumeGroup

Yes

String

Definition: Name of a disk group, which is used to divide storage space.

Range:

  • vgpaas: container disk.

  • default: common data disk, which is mounted in default mode.

  • vguser: common data disk, which is mounted to a specified path. The group name varies depending on the path, for example, vguser1 and vguser2.

  • vg-everest-localvolume-persistent: common data disk, which is used as the persistent storage volume.

  • vg-everest-localvolume-ephemeral: common data disk, which is used as a temporary storage volume.

Table 17 VolumeGroupConfig

Parameter

Mandatory

Type

Description

volumeGroup

Yes

String

Definition: Disk group name. Index of the volume group in the dataVolumes.

Range: N/A.

dockerThinPool

No

Integer

Definition: Percentage of data disks designated as container disks. This parameter can be specified only when volumeGroup is vgpaas (container disk).

Range: N/A.

lvmConfig

No

LvmConfig object

Definition: LVM configuration management.

types

No

Array of strings

Definition: Storage type. Options:

  • volume: Cloud hard disk. When dataVolumes is specified, the default value is used.

  • local: Local disk. This parameter must be specified when a local disk is used.

Table 18 LvmConfig

Parameter

Mandatory

Type

Description

lvType

Yes

String

Definition: LVM write mode.

Range:

  • linear: Linear mode.

  • striped: Striped mode in which multiple disks are used to form a strip to improve disk performance.

path

No

String

Definition: Disk mount path. This parameter takes effect only in user configuration. The value is an absolute path. Digits, letters, periods (.), hyphens (-), and underscores (_) are allowed.

Range: N/A.

Table 19 Os

Parameter

Mandatory

Type

Description

name

No

String

Definition: OS name and version, for example, EulorOS 2.5. This parameter can be left blank when a private image is specified.

Range: N/A.

imageId

No

String

Definition: OS image ID.

Range: N/A.

imageType

No

String

Definition: OS image type. This parameter must be specified when a private image is set. By default, the preset image is used. You do not need to specify this field.

Range:

  • private: private images

  • "": The preset image is used.

autoMatch

No

String

Definition: Automatic OS image matching configuration. If this parameter is set, the optimal image is automatically selected, and this parameter is automatically cleared.

Range: OS name and version, for example, EulorOS 2.5.

Response Parameters

Status code: 200

Table 20 Response body parameters

Parameter

Type

Description

metadata

PatchNodePoolMetaVO object

Definition: Node pool metadata.

spec

NodePoolSpec object

Definition: Request body for updating a node pool.

Table 21 PatchNodePoolMetaVO

Parameter

Type

Description

annotations

PatchNodePoolAnnotations object

Definition: Node pool annotations.

Table 22 PatchNodePoolAnnotations

Parameter

Type

Description

os.modelarts/billing.mode

String

Definition: Specifies the billing mode. If this parameter is not specified, new nodes use the existing settings for the resource pool.

Range:

  • 0: Pay-per-use

os.modelarts/period.num

String

Definition: Subscription period on a yearly/monthly basis, for example, 2. This parameter is mandatory when the billing mode is yearly/monthly.

Range: N/A.

os.modelarts/period.type

String

Definition: Subscription type on a yearly/monthly basis. This parameter is mandatory when the billing mode is yearly/monthly.

Range:

  • 2: Monthly

  • 3: Year

os.modelarts/auto.renew

String

Definition: Specifies whether auto-renewal is enabled. If this parameter is not specified, new nodes use the existing settings for the resource pool.

Range:

  • 0: Auto-renewal disabled (default value)

  • 1: Auto-renewal enabled

os.modelarts/promotion.info

String

Definition: Discount selected on the operations platform.

Range: N/A.

os.modelarts/service.console.url

String

Definition: URL of the page displayed after the subscription order is paid.

Range: N/A.

os.modelarts/order.id

String

Definition: Order ID, which is mandatory for creating a yearly/monthly resource or changing the billing mode.

Range: N/A.

Table 23 NodePoolSpec

Parameter

Type

Description

resources

PoolResource object

Definition: List of resources in a node pool, including resource flavors, quantity, and custom configurations.

Range: N/A

Table 24 PoolResource

Parameter

Type

Description

flavor

String

Definition: Resource flavor name, for example, modelarts.vm.gpu.t4u8.

Range: N/A.

count

Integer

Definition: Committed specifications.

Range: N/A.

maxCount

Integer

Definition: Elastic usage of the resource flavor. This parameter value is the same the count value in a physical pool.

Range: N/A.

azs

Array of PoolNodeAz objects

Definition: AZ information of nodes in the resource pool.

nodePool

String

Definition: Node pool name, for example, nodePool-1.

Range: N/A.

taints

Array of Taints objects

Definition: Taints to be added to nodes to set anti-affinity. This parameter cannot be specified for a non-privileged pool.

labels

Map<String,String>

Definition: Kubernetes label, in key-value pair format.

tags

Array of UserTags objects

Definition: Resource tag. This parameter cannot be specified for a non-privileged pool.

network

NodeNetwork object

Definition: Network configuration. This parameter cannot be specified for a non-privileged pool.

extendParams

ResourceExtendParams object

Definition: Custom configuration.

creatingStep

CreatingStep object

Definition: Information about batch creation.

rootVolume

RootVolume object

Definition: Information about the custom system disk (cloud hard disk).

dataVolumes

Array of DataVolumeItem objects

Definition: List of custom data disks (cloud hard disks).

volumeGroupConfigs

Array of VolumeGroupConfig objects

Definition: Advanced disk configuration. This parameter is mandatory when a custom data disk exists.

os

Os object

Definition: OS image information.

Table 25 PoolNodeAz

Parameter

Type

Description

az

String

Definition: AZ name.

Range: N/A

count

Integer

Definition: Number of AZ resource instances.

Range: N/A

Table 26 Taints

Parameter

Type

Description

key

String

Definition: Key.

Range: N/A

value

String

Value.

effect

String

Effect.

Table 27 UserTags

Parameter

Type

Description

key

String

Definition: Key. The value cannot start with CCE- or __type_baremetal.

Range: N/A

value

String

Value.

Table 28 NodeNetwork

Parameter

Type

Description

vpc

String

  • Definition: VPC ID.

Range: N/A.

subnet

String

Definition: Subnet ID.

Range: N/A.

securityGroups

Array of strings

Definition: Security group ID set.

Table 29 ResourceExtendParams

Parameter

Type

Description

dockerBaseSize

String

Definition: Container image space of a node.

Range:

  • Specified: The default value of dockerBaseSize ranges from 50 to 500. However, the actual value is restricted by the container data disk size of the node.

  • Unlimited: *dockerBaseSize="0, indicating that the container image space is not limited.

postInstall

String

Definition: Post-installation script. The entered value must be encoded using Base64.

Range: N/A.

runtime

String

Definition: Container runtime.

Range:

  • docker: Container runtime. It is the most commonly used container engine, which is used to create and manage container instances based on container images.

  • containerd: Industrial-grade container runtime. It focuses on container lifecycle management and is one of the core components at the bottom layer of Docker. It can also be deployed independently.

labelPolicyOnExistingNodes

String

Definition: Kubernetes label update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

taintPolicyOnExistingNodes

String

Definition: Kubernetes taint update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

tagPolicyOnExistingNodes

String

Definition: Resource tag update policy of existing nodes. If the value is empty, the existing nodes are updated by default.

Range:

  • refresh: Update.

  • ignore: Do not update.

XParameterPlaneSubnet

String

Definition: Subnet ID used for data transmission on the parameter plane between physical clusters. The value cannot be the same as the node subnet or container subnet.

Range: N/A.

nodePoolName

String

Definition: Name of the node pool specified by you. The value is a string of 2 to 50 characters, consisting of lowercase letters, hyphens (-), and digits. It must start with a lowercase letter and cannot end with a hyphen (-) or -default.

Range: N/A.

Table 30 CreatingStep

Parameter

Type

Description

step

Integer

Definition: Step of a supernode.

Constraints: N/A

Range: Only the step contained in the resource specification details is supported.

Default Value: N/A

type

String

Definition: Batch creation type.

Constraints: N/A

Range:

  • hyperinstance: supernode

Default Value: N/A

Table 31 RootVolume

Parameter

Type

Description

volumeType

String

Definition: Disk type..

Range:

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

size

String

Definition: Disk size, in GiB.

Range: N/A.

Table 32 DataVolumeItem

Parameter

Type

Description

volumeType

String

Definition: Disk type..

Range:

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

size

String

Definition: Disk size, in GiB.

Range: N/A.

count

Integer

Definition: Number of disks.

Range: N/A.

extendParams

VolumeExtendParams object

Definition: Custom disk configuration.

Table 33 VolumeExtendParams

Parameter

Type

Description

volumeGroup

String

Definition: Name of a disk group, which is used to divide storage space.

Range:

  • vgpaas: container disk.

  • default: common data disk, which is mounted in default mode.

  • vguser: common data disk, which is mounted to a specified path. The group name varies depending on the path, for example, vguser1 and vguser2.

  • vg-everest-localvolume-persistent: common data disk, which is used as the persistent storage volume.

  • vg-everest-localvolume-ephemeral: common data disk, which is used as a temporary storage volume.

Table 34 VolumeGroupConfig

Parameter

Type

Description

volumeGroup

String

Definition: Disk group name. Index of the volume group in the dataVolumes.

Range: N/A.

dockerThinPool

Integer

Definition: Percentage of data disks designated as container disks. This parameter can be specified only when volumeGroup is vgpaas (container disk).

Range: N/A.

lvmConfig

LvmConfig object

Definition: LVM configuration management.

types

Array of strings

Definition: Storage type. Options:

  • volume: Cloud hard disk. When dataVolumes is specified, the default value is used.

  • local: Local disk. This parameter must be specified when a local disk is used.

Table 35 LvmConfig

Parameter

Type

Description

lvType

String

Definition: LVM write mode.

Range:

  • linear: Linear mode.

  • striped: Striped mode in which multiple disks are used to form a strip to improve disk performance.

path

String

Definition: Disk mount path. This parameter takes effect only in user configuration. The value is an absolute path. Digits, letters, periods (.), hyphens (-), and underscores (_) are allowed.

Range: N/A.

Table 36 Os

Parameter

Type

Description

name

String

Definition: OS name and version, for example, EulorOS 2.5. This parameter can be left blank when a private image is specified.

Range: N/A.

imageId

String

Definition: OS image ID.

Range: N/A.

imageType

String

Definition: OS image type. This parameter must be specified when a private image is set. By default, the preset image is used. You do not need to specify this field.

Range:

  • private: private images

  • "": The preset image is used.

autoMatch

String

Definition: Automatic OS image matching configuration. If this parameter is set, the optimal image is automatically selected, and this parameter is automatically cleared.

Range: OS name and version, for example, EulorOS 2.5.

Status code: 400

Table 37 Response body parameters

Parameter

Type

Description

error_code

String

  • Definition: ModelArts error code.

Range: N/A

error_msg

String

Definition: Error message.

Range: N/A

Example Requests

Update a node pool.

PATCH https://{endpoint}/v2/{project_id}/pools/{pool_name}/nodepools/{nodepool_name}

{
  "spec" : {
    "resources" : {
      "nodePool" : "modelarts.vm.2u4g.dcc-Default",
      "flavor" : "modelarts.vm.2u4g.dcc",
      "count" : 1,
      "maxCount" : 1,
      "network" : {
        "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566",
        "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9",
        "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ]
      }
    }
  }
}

Example Responses

Status code: 200

OK.

{
  "spec" : {
    "resources" : {
      "nodePool" : "modelarts.vm.2u4g.dcc-Default",
      "flavor" : "modelarts.vm.2u4g.dcc",
      "count" : 1,
      "maxCount" : 1,
      "network" : {
        "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566",
        "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9",
        "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ]
      }
    }
  }
}

Status code: 400

Bad request

{
  "error_code" : "ModelArts.50004000",
  "error_msg" : "Bad request."
}

Status Codes

Status Code

Description

200

OK.

400

Bad request

Error Codes

See Error Codes.