更新时间:2026-09-30 GMT+08:00

获取集群下所有节点池

功能介绍

该API用于获取集群下所有节点池。

  • 集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径

  • nodepool是集群中具有相同配置的节点实例的子集。

调用方法

请参见如何调用API。

URI

GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

账号的项目ID

默认取值:

不涉及

cluster_id

是

String

参数解释:

集群ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

集群ID

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

showDefaultNodePool

否

String

参数解释:

是否展示默认节点池。

约束限制:

不涉及

取值范围:

指定为“true”时展示默认节点池,不指定该参数时默认不展示。

默认取值:

无

advanceStatus

否

Boolean

参数解释:

节点池conditions是否反映整个节点池整体状态。

约束限制:

不涉及

取值范围:

  • true: 节点池的conditions反映整个节点池整体状态。

  • false: 节点池的conditions仅反映默认伸缩组的状态。

默认取值:

不指定时默认为false

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

消息体的类型(格式),默认为application/json,有其他取值时会在具体接口中专门说明。

约束限制:

GET方法不做校验

取值范围:

不涉及

默认取值:

不涉及

X-Auth-Token

是

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

API类型。

取值范围:

不涉及

apiVersion

String

参数解释:

API版本。

取值范围:

不涉及

items

Array of NodePoolResp objects

参数解释:

节点池的信息。

表5 NodePoolResp

参数

参数类型

描述

kind

String

参数解释:

API类型。

取值范围:

不涉及

apiVersion

String

参数解释:

API版本。

取值范围:

不涉及

metadata

NodePoolMetadata object

参数解释:

节点池的元数据信息。

取值范围:

不涉及

spec

NodePoolSpec object

参数解释:

节点池的规格描述。

status

NodePoolStatus object

参数解释:

节点池状态。

取值范围:

不涉及

表6 NodePoolMetadata

参数

参数类型

描述

name

String

参数解释:

节点名池名称。

取值范围:

以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围1-63位,且不能以中划线(-)结尾。

uid

String

参数解释:

节点池的uid。

取值范围:

不涉及

annotations

Map<String,String>

参数解释:

节点池的注解,以key value对表示。

updateTimestamp

String

参数解释:

节点池更新时间。

取值范围:

不涉及

creationTimestamp

String

参数解释:

节点池创建时间。

取值范围:

不涉及

resourceVersion

Integer

参数解释:

节点池最后更新时间的时间戳。

取值范围:

不涉及

表7 NodePoolSpec

参数

参数类型

描述

type

String

参数解释:

节点池类型。

取值范围:

  • vm:弹性云服务器

  • ElasticBMS:C6型弹性裸金属通用计算增强型云服务器,规格示例:c6.22xlarge.2.physical

  • pm: 裸金属服务器

nodeTemplate

NodeTemplate object

参数解释:

节点池模板详细参数。

initialNodeCount

Integer

参数解释:

节点池初始化节点个数。查询时为节点池目标节点数量。

取值范围:

大于等于0,不大于集群规模。

autoscaling

NodePoolNodeAutoscaling object

参数解释:

弹性伸缩参数。

repairPolicy

NodePoolRepairPolicy object

参数解释:

节点故障自愈配置。

取值范围:

不涉及

nodeManagement

NodeManagement object

参数解释:

节点管理相关配置。

podSecurityGroups

Array of SecurityID objects

参数解释:

安全组相关配置。

extensionScaleGroups

Array of ExtensionScaleGroup objects

参数解释:

节点池扩展伸缩组配置列表,详情参见ExtensionScaleGroup类型定义。

customSecurityGroups

Array of strings

参数解释:

节点池自定义安全组相关配置。支持节点池新扩容节点绑定指定的安全组。

  • 未指定安全组ID,新建节点将添加Node节点默认安全组。

  • 指定有效安全组ID,新建节点将使用指定安全组。

  • 指定安全组,应避免对CCE运行依赖的端口规则进行修改。

taintPolicyOnExistingNodes

String

参数解释:

存量节点污点同步策略

取值范围:

  • ignore:配置为"ignore"后,节点池不再同步更新存量节点的污点。

  • refresh:配置为"refresh"后,节点池将同步更新存量节点的污点。

labelPolicyOnExistingNodes

String

参数解释:

存量节点标签同步策略

取值范围:

  • ignore:配置为"ignore"后,节点池不再同步更新存量节点的标签。

  • refresh:配置为"refresh"后,节点池将同步更新存量节点的标签。

userTagsPolicyOnExistingNodes

String

参数解释:

存量节点资源标签同步策略

取值范围:

  • ignore:配置为"ignore"后,节点池不再同步更新存量节点的资源标签。

  • refresh:配置为"refresh"后,节点池将同步更新存量节点的资源标签。

表8 NodeTemplate

参数

参数类型

描述

flavor

String

参数解释:

节点的规格,CCE支持的节点规格请参考节点规格说明获取。

取值范围:

不涉及

az

String

参数解释:

待创建节点所在的可用区,需要指定可用区(AZ)的名称,通过api创建节点不支持随机可用区。

取值范围:

不涉及

os

String

参数解释:

节点的操作系统类型。具体支持的操作系统请参见节点操作系统说明。

取值范围:

不涉及

login

Login object

参数解释:

节点的登录方式。不配置将保留所选择镜像的密码,为了保证您的正常使用,请确保所选择镜像中已经设置了密码。

rootVolume

Volume object

参数解释:

节点的磁盘信息。

dataVolumes

Array of Volume objects

参数解释:

节点的数据盘参数。针对专属云节点,参数解释与rootVolume一致。

storage

Storage object

参数解释:

磁盘初始化配置管理参数。

该参数配置逻辑较为复杂,详细说明请参见节点磁盘挂载。

取值范围:

不涉及

publicIP

NodeEIPSpec object

参数解释:

节点弹性IP参数。

取值范围:

不涉及

nodeNicSpec

NodeNicSpec object

参数解释:

节点的网卡信息。

count

Integer

参数解释:

批量创建时节点的个数。

取值范围:

必须为大于等于1,小于等于最大限额的正整数。

billingMode

Integer

参数解释:

节点的计费模式。

取值范围:

  • 0: 按需付费

taints

Array of Taint objects

参数解释:

支持给创建出来的节点加Taints来设置反亲和性。每条Taints包含以下3个参数:

  • Key:必须以字母或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。

  • Value:必须以字符或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符。

  • Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。

字段使用场景:在节点创建场景下,支持指定初始值,查询时不返回该字段;在节点池场景下,创建节点池时节点模板参数中支持指定初始值,查询时支持返回该字段;在其余场景下,查询时都不会返回该字段。

示例:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

waitPostInstallFinish

Boolean

参数解释:

该参数用于控制创建节点时 post-install脚本执行完成前允许节点调度 行为。当该参数未设置或者为false时,在kubernetes节点就绪时,容器即可被调度到可用节点。当该参数为true时,在kubernetes节点就绪时且post-install脚本执行完成时,容器才可被调度到可用节点。

取值范围:

  • false:在kubernetes节点就绪时,容器即可被调度到可用节点。

  • true:在kubernetes节点就绪时且post-install脚本执行完成时,容器才可被调度到可用节点。

k8sTags

Map<String,String>

参数解释:

格式为key/value键值对。

  • Key:必须以字母或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀,例如example.com/my-key,DNS子域最长253个字符。

  • Value:可以为空或者非空字符串,非空字符串必须以字符或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符。

字段使用场景:在节点创建场景下,支持指定初始值,查询时不返回该字段;在节点池场景下,创建节点池时节点模板参数中支持指定初始值,查询时支持返回该字段;在其余场景下,查询时都不会返回该字段。

示例:

"k8sTags": {
  "key": "value"
}

ecsGroupId

String

参数解释:

云服务器组ID,若指定,将节点创建在该云服务器组下。

取值范围:

不涉及

dedicatedHostId

String

参数解释:

指定DeH主机的ID,将节点调度到自己的DeH上。

取值范围:

不涉及

userTags

Array of UserTag objects

参数解释:

云服务器标签(资源标签)。字段使用场景:在节点创建场景下,支持指定初始值,查询时不返回该字段;在节点池场景下,创建节点池时节点模板参数中支持指定初始值,查询时支持返回该字段;在其余场景下,查询时都不会返回该字段。

runtime

Runtime object

参数解释:

容器运行时, 默认场景:

  • 1.25以下集群:默认为"docker"

  • 1.25及以上集群,随操作系统变化,默认的容器运行时不同

  • 操作系统为欧拉2.5、欧拉2.8的节点仅支持"docker",其余操作系统的节点默认为"containerd"

initializedConditions

Array of strings

参数解释:

自定义初始化标记,默认值为空。

CCE节点在初始化完成之前,会打上初始化未完成污点(node.cloudprovider.kubernetes.io/uninitialized)防止pod调度到节点上。用户在创建节点时,可以通过设置initializedConditions参数,控制污点的移除时间(默认不设置超时时间)。

使用示例如下:

  1. 创建节点,传入参数 "initializedConditions": ["CCEInitial", "CustomedInitial"];

  2. 用户在执行完自定义初始化操作后,调用k8s接口(例如PATCH /v1/nodes/{node_ip}/status)更新节点的conditions,插入type为CCEInitial、CustomedInitial的两个标记,状态为True,如下所示:

  3. CCE组件轮询节点的status.Conditions,查看是否存在type为CCEInitial、CustomedInitial的condition,若存在且status字段值为True,认为节点初始化完成,则移除初始化污点;

  4. initializedConditions支持设置超时时间,用户可以在创节点时传入,如:"initializedConditions": ["CCEInitial:15m", "CustomedInitial:15m"],表示超时时间为15分钟,达到超时时间后,当CCE组件轮询到节点时会自动忽略初始化condition,移除初始化污点。

status:
  conditions:
  - type: CCEInitial
    status: 'True'
  - type: CustomedInitial
    status: 'True'

extendParam

NodeExtendParam object

参数解释:

创建节点时的扩展参数。

hostnameConfig

HostnameConfig object

参数解释:

K8S节点名称配置参数。

serverEnterpriseProjectID

String

参数解释:

服务器企业项目ID。CCE服务不实现EPS相关特性,该字段仅用于同步服务器企业项目ID。

取值范围:

不涉及

configurationsOverride

Array of PackageConfiguration objects

参数解释:

覆盖节点默认组件配置。

nodeNameTemplate

nodeNameTemplate object

参数解释:

节点名称固定前后缀配置参数。假设集群内不同节点池被用户所在公司不同部门使用,可以通过前后缀的名称区分部门和使用方式,如设置nodeNamePrefix为finance-,代表部门名称,nodeNameSuffix为-product,代表生产使用,节点池名称为gpu,代表业务类型,则最终的节点名称为finance-gpu(五位随机数)-product

取值范围:

不涉及

表9 Login

参数

参数类型

描述

sshKey

String

参数解释:

选择密钥对方式登录时的密钥对名称。

取值范围:

不涉及

userPassword

UserPassword object

参数解释:

选择密码方式登录时的账号密码信息,之后可通过此账号密码登录节点。

取值范围:

不涉及

removeUserPassword

Boolean

参数解释:

更新节点池时,移除当前节点池密码方式登录的配置

取值范围:

不涉及

removeSSHKey

Boolean

参数解释:

更新节点池时,移除当前节点池密钥对方式登录的配置

取值范围:

不涉及

表10 UserPassword

参数

参数类型

描述

username

String

参数解释:

登录账号,默认为“root”。

取值范围:

不涉及

password

String

参数解释:

登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。

取值范围:

密码复杂度要求:

  • 长度为8-26位。

  • 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。

  • 密码不能包含用户名或用户名的逆序。

表11 Volume

参数

参数类型

描述

size

Integer

参数解释:

磁盘大小,单位为GiB。

取值范围:

  • 系统盘取值范围:40~1024

  • 数据盘取值范围:100~32768

volumetype

String

参数解释:

磁盘类型,取值请参见创建云服务器 中“root_volume字段数据结构说明”。

取值范围:

  • SAS:高IO,是指由SAS存储提供资源的磁盘类型。

  • SSD:超高IO,是指由SSD存储提供资源的磁盘类型。

  • SATA:普通IO,是指由SATA存储提供资源的磁盘类型。EVS已下线SATA磁盘,仅存量节点有此类型的磁盘。

extendParam

Map<String,Object>

参数解释:

磁盘扩展参数,取值请参见创建云服务器中“extendparam”参数的描述。

取值范围:

不涉及

cluster_id

String

参数解释:

云服务器系统盘对应的存储池的ID。仅用作专属云集群,专属分布式存储DSS的存储池ID,即dssPoolID。

取值范围:

不涉及

cluster_type

String

参数解释:

云服务器系统盘对应的磁盘存储类型。

取值范围:

仅用作专属云集群,固定取值为dss。

hw:passthrough

Boolean

参数解释:

  • 使用SDI规格创建虚拟机时请关注该参数,如果该参数值为true,说明创建的为SCSI类型的卷;

  • 节点池类型为ElasticBMS时,此参数必须填写为true;

  • 如存在节点规格涉及本地盘并同时使用云硬盘场景时,请设置磁盘初始化配置管理参数,配置参考:节点磁盘挂载。

取值范围:

不涉及

metadata

VolumeMetadata object

参数解释:

云硬盘加密信息,仅在创建节点系统盘或数据盘需加密时须填写。

取值范围:

不涉及

表12 VolumeMetadata

参数

参数类型

描述

__system__encrypted

String

参数解释:

表示云硬盘加密功能的字段,'0'代表不加密,'1'代表加密。

取值范围:

不涉及

__system__cmkid

String

参数解释:

用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。

取值范围:

不涉及

表13 Storage

参数

参数类型

描述

storageSelectors

Array of StorageSelectors objects

参数解释:

磁盘选择,根据matchLabels和storageType对匹配的磁盘进行管理。磁盘匹配存在先后顺序,靠前的匹配规则优先匹配。

取值范围:

不涉及

storageGroups

Array of StorageGroups objects

参数解释:

由多个存储设备组成的存储组,用于各个存储空间的划分。

取值范围:

不涉及

表14 StorageSelectors

参数

参数类型

描述

name

String

参数解释:

selector的名字,作为storageGroup中selectorNames的索引。

取值范围:

不涉及

storageType

String

参数解释:

存储类型。

取值范围:

当前仅支持evs(云硬盘)、local(本地盘)和system(系统盘)。

matchLabels

matchLabels object

参数解释:

evs盘的匹配字段。

取值范围:

支持DataVolume中的size、volumeType、metadataEncrypted、metadataCmkid、count字段。

表15 matchLabels

参数

参数类型

描述

size

String

参数解释:

匹配的磁盘大小,不填则无磁盘大小限制。例如:100。

取值范围:

不涉及

volumeType

String

参数解释:

云硬盘类型,目前支持SSD、GPSSD、SAS、ESSD、SATA等,不填则无云硬盘类型限制。

取值范围:

不涉及

metadataEncrypted

String

参数解释:

磁盘加密标识符,0代表不加密,1代表加密,不填则无磁盘加密标识符限制。

取值范围:

不涉及

metadataCmkid

String

参数解释:

加密磁盘的用户主密钥ID,长度为36字节的字符串,不填则无磁盘密钥ID限制。

取值范围:

不涉及

count

String

参数解释:

磁盘选择个数,不填则选择所有此类磁盘。

取值范围:

不涉及

表16 StorageGroups

参数

参数类型

描述

name

String

参数解释:

storageGroups的名字,作为虚拟存储组的名字,因此各个group名字不能重复。

取值范围:

  • 当cceManaged=true时,name必须为:vgpaas。

  • 当数据盘作为临时存储卷时:name必须为:vg-everest-localvolume-ephemeral。

  • 当数据盘作为持久存储卷时:name必须为:vg-everest-localvolume-persistent。

cceManaged

Boolean

参数解释:

k8s及runtime所属存储空间。有且仅有一个group被设置为true,不填默认false。

取值范围:

不涉及

selectorNames

Array of strings

参数解释:

对应storageSelectors中的name,一个group可选择多个selector;但一个selector只能被一个group选择。

取值范围:

不涉及

virtualSpaces

Array of VirtualSpace objects

参数解释:

group中空间配置的详细管理。

取值范围:

不涉及

表17 VirtualSpace

参数

参数类型

描述

name

String

参数解释:

virtualSpace的名称,当前仅支持四种类型:share、kubernetes、runtime、user。

取值范围:

  • kubernetes:k8s空间配置,需配置lvmConfig;

  • runtime:运行时空间配置,需配置runtimeConfig;

  • user:用户空间配置,需配置lvmConfig。

size

String

参数解释:

virtualSpace的大小,仅支持整数百分比。例如:90%。

取值范围:

1% ~ 100%

lvmConfig

LVMConfig object

参数解释:

lvm配置管理,适用于share、kubernetes和user空间配置。

取值范围:

不涉及

runtimeConfig

RuntimeConfig object

参数解释:

runtime配置管理,适用于运行时空间配置。

取值范围:

不涉及

表18 LVMConfig

参数

参数类型

描述

lvType

String

参数解释:

LVM写入模式:linear、striped。linear:线性模式;striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。

取值范围:

不涉及

path

String

参数解释:

磁盘挂载路径,仅在用户配置中生效,支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。

取值范围:

不涉及

表19 RuntimeConfig

参数

参数类型

描述

lvType

String

参数解释:

LVM写入模式:linear、striped。linear:线性模式;striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。

取值范围:

不涉及

表20 NodeEIPSpec

参数

参数类型

描述

iptype

String

参数解释:

弹性IP类型,取值请参见申请EIP接口中publicip.type说明。

取值范围:

不涉及

bandwidth

NodeBandwidth object

参数解释:

弹性IP的带宽参数。

表21 NodeBandwidth

参数

参数类型

描述

chargemode

String

参数解释:

带宽的计费类型。

说明:
  • 按带宽计费:按公网传输速率(单位为Mbps)计费。当您的带宽利用率高于10%时,建议优先选择按带宽计费。

  • 按流量计费:只允许在创建按需节点时指定,按公网传输的数据总量(单位为GB)计费。当您的带宽利用率低于10%时,建议优先选择按流量计费。

取值范围:

  • 未传该字段,表示按带宽计费。

  • 字段值为空,表示按带宽计费。

  • 字段值为“bandwidth”,表示按带宽计费。

  • 字段值为“traffic”,表示按流量计费。

  • 字段为其它值,会导致创建云服务器失败。

size

Integer

参数解释:

带宽大小,取值请参见申请EIP接口中bandwidth.size说明。

取值范围:

不涉及

sharetype

String

参数解释:

带宽的共享类型,共享类型枚举:PER,表示独享,目前仅支持独享。

取值范围:

不涉及

表22 NodeNicSpec

参数

参数类型

描述

primaryNic

NicSpec object

参数解释:

主网卡的描述信息。

extNics

Array of NicSpec objects

参数解释:

扩展网卡。

表23 NicSpec

参数

参数类型

描述

subnetId

String

参数解释:

网卡所在子网的网络ID。若节点池同时配置了subnetList,则节点池扩容子网以subnetList字段为准。

取值范围:

不涉及

fixedIps

Array of strings

参数解释:

主网卡的IP将通过fixedIps指定,数量不得大于创建的节点数。

ipBlock

String

参数解释:

主网卡的IP段的CIDR格式,创建的节点IP将属于该IP段内。

取值范围:

不涉及

subnetList

Array of strings

参数解释:

网卡所在子网的网络ID列表,支持节点池配置多个子网。

表24 Taint

参数

参数类型

描述

key

String

参数解释:

K8s污点的键。

取值范围:

不涉及

value

String

参数解释:

K8s污点的值。

取值范围:

不涉及

effect

String

参数解释:

K8s污点的作用效果。

取值范围:

只可选NoSchedule,PreferNoSchedule或NoExecute。

表25 UserTag

参数

参数类型

描述

key

String

参数解释:

云服务器标签的键。

取值范围:

标签键不能重复,首尾不能为空,不能包含特殊字符"=","*",“<”,“>”,“\”,“,”,“|”,“/”,不能包含非打印字符ASCII(0-31),长度不超过128个字符。

value

String

参数解释:

云服务器标签的值。

取值范围:

标签值首尾不能为空,不能包含特殊字符"=","*",“<”,“>”,“\”,“,”,“|”,不能包含非打印字符ASCII(0-31),长度不超过255个字符。

表26 Runtime

参数

参数类型

描述

name

String

参数解释:

容器运行时。

取值范围:

不涉及

runtimeClass

String

参数解释:

容器运行时子类别。

取值范围:

  • runc: 普通运行时。

  • kata: 安全运行时,需配套c6、c7系列弹性云服务器-物理机,支持操作系统为EulerOS 2.10。

  • kuasar-vmm: 安全运行时v2,支持操作系统为HCE 2.0,集群版本需为v1.28.15-r70、v1.29.15-r30、v1.30.14-r30、v1.31.10-r30、v1.32.6-r30、v1.33.5-r20或以上版本。

表27 NodeExtendParam

参数

参数类型

描述

ecs:performancetype

String

参数解释:

云服务器规格的分类。响应中会返回此字段。

取值范围:

请参考ECS API参考手册中“查询规格详情和规格扩展信息列表”接口的ecs:performancetype参数说明,以了解云服务器的规格类型。

maxPods

Integer

参数解释:

节点最大允许创建的实例数(Pod),该数量包含系统默认实例。

该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。

节点可以创建多少个Pod,受多个参数影响,具体请参见节点可创建的最大Pod数量说明。

取值范围:

通用取值范围为16~256,节点运行时子类别为安全运行时v2(kuasar-vmm)场景取值范围为16~1024。

DockerLVMConfigOverride

String

参数解释:

Docker数据盘配置项(已废弃,请使用storage字段)。默认配置示例如下:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

默认配置在无VD类型磁盘时,会由于数据盘查找失败而出错,请根据真实盘符类型填写diskType。

取值范围:

包含如下字段:

  • userLV(可选):用户空间的大小,示例格式:vgpaas/20%VG

  • userPath(可选):用户空间挂载路径,示例格式:/home/wqt-test

  • diskType:磁盘类型,目前只有evs、hdd和ssd三种格式

  • lvType:逻辑卷的类型,目前支持linear和striped两种,示例格式:striped

  • dockerThinpool:Docker盘的空间大小,示例格式:vgpaas/60%VG

  • kubernetesLV:Kubelet空间大小,示例格式:vgpaas/20%VG

dockerBaseSize

Integer

参数解释:

节点上单容器的可用磁盘空间大小(已废弃,请优先使用containerBaseSize参数),单位G。

CCE节点容器运行时空间配置请参考数据盘空间分配说明。

取值范围:

10-500。

containerBaseSize

Integer

参数解释:

节点上单容器的可用磁盘空间大小,单位G。

CCE节点容器运行时空间配置请参考数据盘空间分配说明。

取值范围:

10-500。

publicKey

String

参数解释:

节点的公钥,应用于ssh密钥登录。

取值范围:

不涉及

alpha.cce/preInstall

String

参数解释:

安装前执行脚本。

输入的值需要经过Base64编码,方法如下:

echo -n "待编码内容" | base64

取值范围:

不涉及

alpha.cce/postInstall

String

参数解释:

安装后执行脚本。

输入的值需要经过Base64编码,方法如下:

echo -n "待编码内容" | base64

取值范围:

不涉及

alpha.cce/NodeImageID

String

参数解释:

节点自定义镜像ID,从IMS控制台获取,需要使用自定义镜像时使用此参数。

取值范围:

不涉及

chargingMode

Integer

参数解释:

节点的计费模式。已废弃,请使用NodeSpec中的billingMode字段。

取值范围:

不涉及

agency_name

String

参数解释:

委托的名称。

委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为CCE节点提供访问云服务器的临时凭证。

作为响应参数仅在创建节点传入时返回该字段。

取值范围:

不涉及

kubeReservedMem

Integer

参数解释:

节点内存预留,Kubernetes相关组件预留值。

取值范围:

不涉及

systemReservedMem

Integer

参数解释:

节点内存预留,系统组件预留值。

取值范围:

不涉及

kubeReservedCpu

Integer

参数解释:

节点CPU预留,Kubernetes相关组件预留值。单位为mcore。

取值范围:

不涉及

systemReservedCpu

Integer

参数解释:

节点CPU预留,系统组件预留值。单位为mcore。

取值范围:

不涉及

kubeReservedPid

Integer

参数解释:

节点PID预留,Kubernetes相关组件预留值。目的是为Kubernetes系统守护进程(如kubelet、container runtime等)预留指定数量的进程ID。

取值范围:

[0,2097152] 注:CCE仅校验kernel.pid_max为4194304的场景,2022年1月30日及之前创建的节点和部分OS的kernel.pid_max会有所不同,若您更新过kernel.pid_max也需要保证kubeReservedPid,systemReservedPid之和小于linux PID数量上限。

systemReservedPid

Integer

参数解释:

节点PID预留,系统组件预留值。目的是为OS系统守护进程(如 sshd、udev 等)预留指定数量的进程ID。

取值范围:

[0,2097152] 注:CCE仅校验kernel.pid_max为4194304的场景,2022年1月30日及之前创建的节点和部分OS的kernel.pid_max会有所不同,若您更新过kernel.pid_max也需要保证kubeReservedPid,systemReservedPid之和小于linux PID数量上限。

kubeReservedStorage

Integer

参数解释:

节点临时存储空间预留,Kubernetes组件预留值。目的是为Kubernetes系统守护进程(如kubelet、container runtime等)预留临时存储。单位为Gi。

取值范围:

不涉及

systemReservedStorage

Integer

参数解释:

节点临时存储空间预留,系统组件预留值。目的是为OS系统守护进程(如 sshd、udev 等)预留临时存储。单位为Gi。

取值范围:

不涉及

init-node-password

String

参数解释:

节点密码,仅作为响应参数时,固定展示星号,节点池场景响应返回中无该参数。

取值范围:

不涉及

表28 HostnameConfig

参数

参数类型

描述

type

String

参数解释:

K8S节点名称配置类型, 默认为“privateIp”。

取值范围:

  • privateIp: 将节点私有IP作为K8S节点名称

  • cceNodeName: 将CCE节点名称作为K8S节点名称

表29 PackageConfiguration

参数

参数类型

描述

name

String

参数解释:

组件名称。

取值范围:

不涉及

configurations

Array of ConfigurationItem objects

参数解释:

组件配置项。

表30 ConfigurationItem

参数

参数类型

描述

name

String

参数解释:

组件配置参数名称。

取值范围:

不涉及

value

Object

参数解释:

组件配置参数值。

取值范围:

不涉及

表31 nodeNameTemplate

参数

参数类型

描述

nodeNamePrefix

String

参数解释:

节点名称前缀。如果用户填写为空串或缺省,则节点名称不会增加前缀。

取值范围:

不涉及

nodeNameSuffix

String

参数解释:

节点名称后缀。如果用户填写为空串或缺省,则节点名称不会增加后缀。

取值范围:

不涉及

表32 NodePoolNodeAutoscaling

参数

参数类型

描述

enable

Boolean

参数解释:

是否开启自动扩缩容。

取值范围:

  • false:不开启自动扩缩容

  • true:开启自动扩缩容

minNodeCount

Integer

参数解释:

若开启自动扩缩容,最小能缩容的节点个数。

取值范围:

大于等于0,不可大于集群规格所允许的节点上限。

maxNodeCount

Integer

参数解释:

若开启自动扩缩容,最大能扩容的节点个数。

取值范围:

大于等于 minNodeCount,且不超过集群规格对应的节点数量上限。

scaleDownCooldownTime

Integer

参数解释:

节点保留时间,单位为分钟,扩容出来的节点在这个时间内不会被缩掉。

取值范围:

0-2147483646。

priority

Integer

参数解释:

节点池权重,更高的权重在扩容时拥有更高的优先级。

取值范围:

不涉及

scaleDownUnneededTime

Integer

参数解释:

缩容非必要时间。单位为分钟,该参数用于指定在确定可以进行缩容操作之前,节点处于不需要状态的持续时间。

当节点在指定的这段时间内一直处于不需要的状态时,autoscaler 插件才会考虑对其进行缩容操作。

这样可以避免因资源的短暂波动而频繁触发缩容,增强系统的稳定性。如果未设置该参数,autoscaler 插件插件会使用默认的时间阈值。

取值范围:

0-2147483647。

说明:

注意:如果传值为-1,代表取值为空。

scaleDownUtilizationThreshold

Float

参数解释:

缩容利用率阈值。运行在该节点上的所有 Pod 的 CPU 或内存总和除以该节点相应的可分配资源,

当该比值低于此阈值时,该节点可被考虑进行缩容。例如,设置为 0.3 表示当资源利用率低于 30% 时,

会触发缩容操作的评估。如果未设置该参数,autoscaler 插件会使用默认的利用率阈值。

取值范围:

0-1。

说明:

注意:如果传值为-1,代表取值为空。

表33 NodePoolRepairPolicy

参数

参数类型

描述

enable

Boolean

参数解释:

系统与 K8s 组件异常时是否启用policy中配置的自愈策略。

取值范围:

  • false:使用基础自愈策略

  • true:使用policy中配置的自愈策略

policy

String

参数解释:

节点自愈的恢复策略

取值范围:

  • restartNode:系统与 K8s 组件异常时允许通过重启节点自愈

表34 NodeManagement

参数

参数类型

描述

serverGroupReference

String

参数解释:

云服务器组ID,指定后将绑定云服务器组,节点池中所有节点将创建在该云服务器组下。绑定云服务器组后节点池中的节点数量不允许超出云服务器组可添加的云服务器数量,否则将导致节点池无法扩容。

说明:
  • 绑定云服务器组后,云服务器将严格按照亲和策略分布,同时也会限制节点池中节点个数上限。由于ECS创建云服务器时本身具有一定反亲和能力,如果仅需云服务器分散的创建在不同主机上以提高业务的可靠性,又不希望节点个数受到云服务器组的限制,请勿绑定云服务器组。

  • 云服务组支持解绑,解绑后存量节点仍属于原云服务器组,新建节点将不再绑定云服务器组。 当节点池中不存在节点时支持绑定新的云服务器组或者切换绑定的云服务器组

取值范围:

  • 不指定或者指定空字符串:表示解绑云服务器组

  • 云服务器组ID:表示切换节点池绑定的云服务组

表35 SecurityID

参数

参数类型

描述

id

String

参数解释:

节点上的容器安全组ID。

取值范围:

不涉及

表36 ExtensionScaleGroup

参数

参数类型

描述

metadata

ExtensionScaleGroupMetadata object

参数解释:

扩容伸缩组的基本信息。

spec

ExtensionScaleGroupSpec object

参数解释:

扩展伸缩组配置,承载区别于默认伸缩组的差异化配置。

表37 ExtensionScaleGroupMetadata

参数

参数类型

描述

uid

String

参数解释:

扩展伸缩组的uuid

取值范围:

不涉及

name

String

参数解释:

扩展伸缩组的名称。

default。

取值范围:

长度不能超过56个字符,只能包含数字和小写字母以及连字符(-),必须以小写字母开头以小写字母或者数字结尾。

表38 ExtensionScaleGroupSpec

参数

参数类型

描述

flavor

String

参数解释:

节点的规格,CCE支持的节点规格请参考节点规格说明获取。

取值范围:

不涉及

az

String

参数解释:

节点可用区。

取值范围:

不涉及

capacityReservationSpecification

CapacityReservationSpecification object

参数解释:

扩展伸缩组容量预留配置。

autoscaling

ScaleGroupAutoscaling object

参数解释:

扩展伸缩组弹性伸缩配置。

表39 CapacityReservationSpecification

参数

参数类型

描述

id

String

参数解释:

私有池id。

取值范围:

不涉及

preference

String

参数解释:

私有池容量选项。

取值范围:

不涉及

表40 ScaleGroupAutoscaling

参数

参数类型

描述

enable

Boolean

参数解释:

伸缩组弹性扩缩容启用开关。

取值范围:

  • false:不开启自动扩缩容

  • true:开启自动扩缩容

extensionPriority

Integer

参数解释:

伸缩组优先级,数值越大优先级越高。

取值范围:

不涉及

minNodeCount

Integer

参数解释:

弹性伸缩时,伸缩组最少应保持的节点数量。

取值范围:

大于等于0,不可大于集群规格所允许的节点上限。

maxNodeCount

Integer

参数解释:

弹性伸缩时,伸缩组最多可保持的节点数量。

取值范围:

应大于等于 minNodeCount, 不可大于集群规格所允许的节点上限,不可大于节点池节点数量上限。

表41 NodePoolStatus

参数

参数类型

描述

currentNode

Integer

参数解释:

当前节点池中所有节点数量(不含删除中的节点)。

取值范围:

不涉及

creatingNode

Integer

参数解释:

当前节点池中处于创建流程中的节点数量。

取值范围:

不涉及

deletingNode

Integer

参数解释:

当前节点池中删除中的节点数量。

取值范围:

不涉及

activeNode

Integer

参数解释:

当前节点池中就绪的节点数量。

取值范围:

不涉及

repairingNode

Integer

参数解释:

当前节点池中修复中的节点数量。

取值范围:

不涉及

repairFailedNode

Integer

参数解释:

当前节点池中修复失败的节点数量。

取值范围:

不涉及

configurationSyncedNodeCount

Integer

参数解释

当前节点池中已经同步了节点池配置参数的节点数量。

取值范围:

不涉及

phase

String

参数解释:

节点池状态。

取值范围:

  • 空值:可用(节点池当前节点数已达到预期,且无伸缩中的节点)

  • Synchronizing:伸缩中(节点池当前节点数未达到预期,且无伸缩中的节点)

  • Synchronized:伸缩等待中(节点池当前节点数未达到预期,或者存在伸缩中的节点)

  • SoldOut:节点池当前不可扩容(兼容字段,标记节点池资源售罄、资源配额不足等不可扩容状态)

  • Deleting:删除中

  • Error:错误

说明:

上述节点池状态已废弃,仅兼容保留,不建议使用,替代感知方式如下:

  • 节点池扩缩状态:可通过currentNode/creatingNode/deletingNode节点状态统计信息,精确感知当前节点池扩缩状态。

  • 节点池可扩容状态:可通过conditions感知节点池详细状态,其中"Scalable"可替代SoldOut语义。

jobId

String

参数解释:

对节点池执行操作时的JobID。仅当节点池处于Deleting状态时才返回该字段。

取值范围:

不涉及

conditions

Array of NodePoolCondition objects

参数解释:

节点池当前详细状态列表,详情参见Condition类型定义。

scaleGroupStatuses

Array of ScaleGroupStatus objects

参数解释:

伸缩组当前详细状态信息,详情参见ScaleGroupStatus类型定义。

表42 ScaleGroupStatus

参数

参数类型

描述

name

String

参数解释:

伸缩组名称。

取值范围:

不涉及

uid

String

参数解释:

伸缩组uuid。

取值范围:

不涉及

creationTimestamp

String

参数解释:

伸缩组创建时间。

取值范围:

不涉及

updateTimestamp

String

参数解释:

伸缩组更新时间。

取值范围:

不涉及

phase

String

参数解释:

伸缩组状态。

取值范围:

  • 空值:可用(伸缩组当前节点数已达到预期,且无伸缩中的节点)

  • Synchronizing:伸缩中(伸缩组当前节点数未达到预期,且无伸缩中的节点)

  • Synchronized:伸缩等待中(伸缩组当前节点数未达到预期,或者存在伸缩中的节点)

  • SoldOut:伸缩组当前不可扩容(兼容字段,标记节点池资源售罄、资源配额不足等不可扩容状态)

  • Deleting:删除中

  • Error:错误

说明:

上述伸缩组状态已废弃,仅兼容保留,不建议使用,替代感知方式如下:

  • 伸缩组扩缩状态:可通过desiredNodeCount/existingNodeCount/upcomingNodeCount节点状态统计信息,精确感知当前伸缩组扩缩状态。

  • 伸缩组可扩容状态:可通过conditions感知伸缩组详细状态,其中"Scalable"可替代SoldOut语义。

desiredNodeCount

Integer

参数解释:

伸缩组期望节点数。

取值范围:

不涉及

unpaidScaleNodeCount

Integer

参数解释:

订单未支付节点个数。

取值范围:

不涉及

activeNodeCount

Integer

参数解释:

伸缩组就绪节点个数

取值范围:

不涉及

existingNodeCount

existingNodeCount object

参数解释:

伸缩组存量节点统计信息。

upcomingNodeCount

upcomingNodeCount object

参数解释:

伸缩组将要创建的节点统计信息。

scaleDownDisabledNodeCount

Integer

参数解释:

伸缩组禁止缩容的节点数。

取值范围:

不涉及

conditions

Array of NodePoolCondition objects

参数解释:

伸缩组当前详细状态列表,详情参见Condition类型定义。

表43 existingNodeCount

参数

参数类型

描述

postPaid

Integer

参数解释:

按需计费节点个数。

取值范围:

不涉及

total

Integer

参数解释:

按需计费节点总数。

取值范围:

不涉及

表44 upcomingNodeCount

参数

参数类型

描述

postPaid

Integer

参数解释:

按需计费节点个数。

取值范围:

不涉及

total

Integer

参数解释:

按需计费节点总数。

取值范围:

不涉及

表45 NodePoolCondition

参数

参数类型

描述

type

String

参数解释:

状态类型。

取值范围:

  • "TaintSynchronizing": 节点池正在同步节点K8s污点,不影响节点池可扩容状态(该状态类型为节点池级别,伸缩组中无该状态类型)。

  • "LabelSynchronizing": 节点池正在同步节点K8s标签,不影响节点池可扩容状态(该状态类型为节点池级别,伸缩组中无该状态类型)。

  • "UserTagsSynchronizing": 节点池正在同步节点资源标签,不影响节点池可扩容状态(该状态类型为节点池级别,伸缩组中无该状态类型)。

  • "ConfigurationSynchronizing": 节点池正在同步节点配置,不影响节点池可扩容状态(该状态类型为节点池级别,伸缩组中无该状态类型)。

  • "Scalable":节点池/伸缩组实际的可扩容状态,如果状态为"False"时则不会再次触发节点池扩容行为。

  • "QuotaInsufficient":节点池/伸缩组扩容依赖的配额不足,影响节点池可扩容状态。

  • "ResourceInsufficient":节点池/伸缩组扩容依赖的资源不足,影响节点池可扩容状态。

  • "SoldOut":节点池/伸缩组资源售罄,影响节点池可扩容状态。

  • "UnexpectedError":节点池/伸缩组非预期扩容失败,影响节点池可扩容状态。

  • "Error":节点池/伸缩组错误,通常由于删除失败触发。

status

String

参数解释:

Condition当前状态。

取值范围:

  • "True":满足当前状态

  • "False":不满足当前状态

lastProbeTime

String

参数解释:

上次状态检查时间。

取值范围:

不涉及

lastTransitTime

String

参数解释:

上次状态变更时间。

取值范围:

不涉及

reason

String

参数解释:

上次状态变更原因。

取值范围:

不涉及

message

String

参数解释:

Condition详细描述。

取值范围:

不涉及

请求示例

无

响应示例

状态码:200

表示获取集群下所有节点池成功。

{
  "kind" : "List",
  "apiVersion" : "v3",
  "items" : [ {
    "kind" : "NodePool",
    "apiVersion" : "v3",
    "metadata" : {
      "name" : "nodepool-51474",
      "uid" : "08b16*****************0004a"
    },
    "spec" : {
      "nodeTemplate" : {
        "flavor" : "s1.large",
        "az" : "az1.dc1",
        "os" : "EulerOS 2.2",
        "login" : {
          "sshKey" : "KeyPair-001"
        },
        "rootVolume" : {
          "volumetype" : "SSD",
          "size" : 50,
          "hw:passthrough" : true
        },
        "publicIP" : {
          "iptype" : "5_g-vm",
          "bandwidth" : {
            "chargemode" : "bandwidth",
            "size" : 5,
            "sharetype" : "PER"
          }
        },
        "billingMode" : 0
      },
      "autoscaling" : {
        "enable" : true,
        "maxNodeCount" : 50
      }
    },
    "status" : {
      "currentNode" : 1
    }
  } ]
}

状态码

状态码

描述

200

表示获取集群下所有节点池成功。

错误码

请参见错误码。