Updated on 2026-09-01 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.

Constraints: N/A

spec

Yes

NodePoolSpec object

Definition: Request body for updating a node pool.

Constraints: N/A

Table 4 PatchNodePoolMetaVO

Parameter

Mandatory

Type

Description

annotations

No

PatchNodePoolAnnotations object

Definition: Node pool annotations.

Constraints: N/A

Table 5 PatchNodePoolAnnotations

Parameter

Mandatory

Type

Description

os.modelarts/billing.mode

No

String

Definition: Billing mode. If this parameter is not specified, new nodes use the existing billing mode of the resource pool.

Constraints: N/A

Range

  • 0: pay-per-use

Default Value: N/A

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.

Constraints: N/A

Range: N/A

Default Value: 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.

Constraints: N/A

Range

  • 2: monthly

  • 3: yearly

Default Value: N/A

os.modelarts/auto.renew

No

String

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

Constraints: N/A

Range

  • 0: Auto-renewal disabled (default value)

  • 1: auto-renewal enabled

Default Value: N/A

os.modelarts/promotion.info

No

String

Definition: Discount selected on the operations platform.

Constraints: N/A

Range: N/A

Default Value: N/A

os.modelarts/service.console.url

No

String

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

Constraints: N/A

Range: N/A

Default Value: 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.

Constraints: N/A

Range: N/A

Default Value: 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.

Constraints: N/A

Table 7 PoolResource

Parameter

Mandatory

Type

Description

flavor

Yes

String

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

Constraints: N/A

Range: N/A

Default Value: N/A

count

Yes

Integer

Definition: Committed specifications.

Constraints: N/A

Range: N/A

Default Value: N/A

maxCount

Yes

Integer

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

Constraints: N/A

Range: N/A

Default Value: N/A

azs

No

Array of PoolNodeAz objects

Definition: AZ information of nodes in the resource pool.

Constraints: N/A

nodePool

No

String

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

Constraints: N/A

Range: N/A

Default Value: 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.

Constraints: N/A

labels

No

Map<String,String>

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

Constraints: N/A

tags

No

Array of UserTags objects

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

Constraints: N/A

network

No

NodeNetwork object

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

Constraints: N/A

extendParams

No

ResourceExtendParams object

Definition: Custom configuration.

Constraints: N/A

creatingStep

No

CreatingStep object

Definition: Information about batch creation.

Constraints: N/A

rootVolume

No

RootVolume object

Definition: Information about the custom system disk (EVS disk).

Constraints: N/A

dataVolumes

No

Array of DataVolumeItem objects

Definition: List of custom data disks (EVS disks).

Constraints: N/A

volumeGroupConfigs

No

Array of VolumeGroupConfig objects

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

Constraints: N/A

os

No

Os object

Definition: OS image information.

Constraints: N/A

Table 8 PoolNodeAz

Parameter

Mandatory

Type

Description

az

Yes

String

Definition: AZ name.

Constraints: N/A

Range: N/A

Default Value: N/A

count

Yes

Integer

Definition: Number of AZ resource instances.

Constraints: N/A

Range: N/A

Default Value: N/A

Table 9 Taints

Parameter

Mandatory

Type

Description

key

Yes

String

Definition: Tag key.

Constraints: N/A

Range: N/A

Default Value: N/A

value

No

String

Definition: Tag value.

Constraints: N/A

Range: N/A

Default Value: N/A

effect

Yes

String

Definition: Effect.

Constraints: N/A

Range: N/A

Default Value: N/A

Table 10 UserTags

Parameter

Mandatory

Type

Description

key

Yes

String

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

Constraints: N/A

Range: N/A

Default Value: N/A

value

Yes

String

Definition: Tag value.

Constraints: N/A

Range: N/A

Default Value: N/A

Table 11 NodeNetwork

Parameter

Mandatory

Type

Description

vpc

No

String

Definition: VPC ID.

Constraints: N/A

Range: N/A

Default Value: N/A

subnet

No

String

Definition: Subnet ID.

Constraints: N/A

Range: N/A

Default Value: N/A

securityGroups

No

Array of strings

Definition: Security group IDs.

Constraints: N/A

Table 12 ResourceExtendParams

Parameter

Mandatory

Type

Description

dockerBaseSize

No

String

Definition: Container image space of a node.

Constraints: N/A

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.

Default Value: N/A

postInstall

No

String

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

Constraints: N/A

Range: N/A

Default Value: N/A

runtime

No

String

Definition: Container runtime.

Constraints: N/A

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.

Default Value: N/A

labelPolicyOnExistingNodes

No

String

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

Constraints: N/A

Range

  • refresh: Update.

  • ignore: Do not update.

Default Value: N/A

taintPolicyOnExistingNodes

No

String

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

Constraints: N/A

Range

  • refresh: Update.

  • ignore: Do not update.

Default Value: N/A

tagPolicyOnExistingNodes

No

String

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

Constraints: N/A

Range

  • refresh: Update.

  • ignore: Do not update.

Default Value: N/A

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.

Constraints: N/A

Range: N/A

Default Value: 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. Only the step contained in the resource specification details is supported.

Constraints: N/A

Range: N/A

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.

Constraints: N/A

Range

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

Default Value: N/A

size

Yes

String

Definition: Disk size, in GiB.

Constraints: N/A

Range: N/A

Default Value: N/A

Table 15 DataVolumeItem

Parameter

Mandatory

Type

Description

volumeType

Yes

String

Definition: Disk type.

Constraints: N/A

Range

  • SSD: Ultra-high I/O disk

  • GPSSD: General-purpose SSD

  • SAS: High I/O disk

Default Value: N/A

size

Yes

String

Definition: Disk size, in GiB.

Constraints: N/A

Range: N/A

Default Value: N/A

count

No

Integer

Definition: Number of disks.

Constraints: N/A

Range: N/A

Default Value: N/A

extendParams

Yes

VolumeExtendParams object

Definition: Custom disk configuration.

Constraints: N/A

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. It is used as the index of volumeGroup in dataVolumes.

Constraints: N/A

Range: N/A

Default Value: N/A

dockerThinPool

No

Integer

Definition: Percentage of container disks to data disks on nodes in a resource pool. This parameter can be specified only when volumeGroup is vgpaas (container disk).

Constraints: N/A

Range: N/A

Default Value: N/A

lvmConfig

No

LvmConfig object

Definition: LVM configuration management.

Constraints: N/A

types

No

Array of strings

Definition: Storage type, which can be:

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

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

Constraints: N/A

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.

Constraints: N/A

Range: N/A

Default Value: N/A

imageId

No

String

Definition: OS image ID.

Constraints: N/A

Range: N/A

Default Value: 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.

Constraints: N/A

Range

  • private: private images

  • "": If this parameter is not specified, a preset image is used.

Default Value: N/A

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.

Constraints: N/A

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

Default Value: N/A

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: Billing mode. If this parameter is not specified, new nodes use the existing billing mode of 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: yearly

os.modelarts/auto.renew

String

Definition: Whether auto-renewal is enabled. If this parameter is not specified, new nodes use the existing auto-renewal settings of 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.

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 as 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 (EVS disk).

dataVolumes

Array of DataVolumeItem objects

Definition: List of custom data disks (EVS 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: Tag key.

Range: N/A

value

String

Definition: Tag value.

Range: N/A

effect

String

Definition: Effect.

Range: N/A

Table 27 UserTags

Parameter

Type

Description

key

String

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

Range: N/A

value

String

Definition: Tag value.

Range: N/A

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

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. Only the step contained in the resource specification details is supported.

Range: N/A

type

String

Definition: Batch creation type.

Range

  • hyperinstance: supernode

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. It is used as the index of volumeGroup in dataVolumes.

Range: N/A

dockerThinPool

Integer

Definition: Percentage of container disks to data disks on nodes in a resource pool. 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, which can be:

  • volume: EVS 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

  • "": If this parameter is not specified, a 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.