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

更新指定节点池

功能介绍

该API用于更新指定的节点池。仅支持集群在处于可用、扩容、缩容状态时调用。

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

  • 若此次更新节点池未设置initialNodeCount的相关值,节点池期望节点个数将默认更新为初始值0,如果此时节点池节点个数大于0将导致节点池缩容。若用户期望不填该参数,请在此次更新设置spec下的ignoreInitialNodeCount为true,用于忽略spec.initialNodeCount参数。特殊场景说明:若节点池当前节点数等于0时,可忽略initialNodeCount和ignoreInitialNodeCount参数配置。

调用方法

请参见如何调用API。

URI

PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

账号的项目ID

默认取值:

不涉及

cluster_id

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

集群ID

默认取值:

不涉及

nodepool_id

是

String

参数解释:

节点池ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

节点池ID

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

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

约束限制:

GET方法不做校验

取值范围:

不涉及

默认取值:

不涉及

X-Auth-Token

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

metadata

否

NodePoolMetadataUpdate object

参数解释:

节点池的元数据信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

spec

否

NodePoolSpecUpdate object

参数解释:

节点池的规格描述。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 NodePoolMetadataUpdate

参数

是否必选

参数类型

描述

name

否

String

参数解释:

节点池名称。

约束限制:

不允许创建名为 DefaultPool 的节点池。

取值范围:

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

默认取值:

不涉及

表5 NodePoolSpecUpdate

参数

是否必选

参数类型

描述

nodeTemplate

否

NodeSpecUpdate object

参数解释:

节点池模板详细参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

initialNodeCount

是

Integer

参数解释:

节点池期望节点个数。

约束限制:

更新节点池时,此字段为必填字段。

说明:

注意:如果更新节点池时不填此字段,节点池期望节点个数将取默认值0,如果此时节点池节点个数大于0将导致节点池缩容。

取值范围:

大于0,小于集群节点规模。

默认取值:

0

ignoreInitialNodeCount

否

Boolean

参数解释:

该参数用于控制更新节点池时 节点池期望节点个数(spec.initialNodeCount) 的默认行为。当该参数未设置或者为false时,如果用户请求Body体中未设置spec.initialNodeCount,更新时将自动初始化spec.initialNodeCount为0。当该参数为true时,将忽略spec.initialNodeCount参数。

说明:

当用户不需要更新节点池spec.initialNodeCount时,必须显示的设置该参数为true,同时在更新节点池Body体中不设置spec.initialNodeCount。如果节点池当前spec.initialNodeCount 不等于0将导致节点池缩容。

约束限制:

不涉及

取值范围:

  • false:更新节点池时,如果spec.initialNodeCount参数未设置,将初始化spec.initialNodeCount为0。

  • true:更新节点池时,忽略spec.initialNodeCount参数,节点池spec.initialNodeCount参数将保持原样。

默认取值:

false

autoscaling

否

NodePoolNodeAutoscaling object

参数解释:

弹性伸缩参数。仅按需计费的节点池支持弹性伸缩。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

repairPolicy

否

NodePoolRepairPolicy object

参数解释:

节点故障自愈配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

nodeManagementUpdate

否

NodeManagement object

参数解释:

节点管理相关配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

customSecurityGroups

否

Array of strings

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

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

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

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

taintPolicyOnExistingNodes

否

String

参数解释:

是否同步K8S污点。

约束限制:

不涉及

取值范围:

  • 填写为refresh,K8S污点的改动将会被同步更新到存量节点上。

  • 填写为ignore,节点池K8S污点将不会同步更新到存量节点上。

默认取值:

无

labelPolicyOnExistingNodes

否

String

参数解释:

是否同步K8S标签。

约束限制:

不涉及

取值范围:

  • 填写为refresh,K8S标签的改动将会被同步更新到存量节点上。

  • 填写为ignore,K8S标签将不会同步更新到存量节点上。

默认取值:

无

userTagsPolicyOnExistingNodes

否

String

参数解释:

是否同步节点池资源标签。

约束限制:

不涉及

取值范围:

  • 填写为refresh,节点池资源标签标签的改动将会被同步更新到存量节点上。

  • 填写为ignore,节点池资源标签标签将不会同步更新到存量节点上。

默认取值:

无

extensionScaleGroups

否

Array of ExtensionScaleGroup objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表6 NodeSpecUpdate

参数

是否必选

参数类型

描述

flavor

否

String

参数解释:

节点的规格。

约束限制:

节点的规格不允许修改。

说明:

仅在删除节点池的默认伸缩组场景,允许设置为空字符串。当且仅当 az 字段也设置为空字符串时,才能删除默认伸缩组。如果节点池没有扩容伸缩组,默认伸缩组无法删除。

取值范围:

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

默认取值:

不涉及

az

否

String

参数解释:

节点所在的可用区,需要指定可用区(AZ)的名称。

约束限制:

节点的可用区不允许修改。

说明:

仅在删除节点池的默认伸缩组场景,允许设置为空字符串。当且仅当 flavor 字段也设置为空字符串时,才能删除默认伸缩组。如果节点池没有扩容伸缩组,默认伸缩组无法删除。

取值范围:

默认取值:

不涉及

os

否

String

参数解释:

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

约束限制:

  • 若当前集群版本不支持该OS类型,则会自动替换为当前集群版本支持的同系列OS类型。

  • 若在创建节点时指定了extendParam中的alpha.cce/NodeImageID参数,可以不填写此参数。

  • 该参数缺省时,CCE会根据集群版本自动选择支持的OS版本。

  • 创建节点池时,该参数为必选。

  • 若创建节点时使用共享磁盘空间,即磁盘初始化配置管理参数使用storage,且StorageGroups中virtualSpaces的name字段指定为share,该参数为必选。

取值范围:

不涉及

默认取值:

不涉及

login

否

Login object

参数解释:

节点的登录方式。

约束限制:

不涉及

rootVolumeUpdate

否

Volume object

参数解释:

节点的磁盘信息。

约束限制:

不涉及

dataVolumesUpdate

否

Array of Volume objects

参数解释:

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

约束限制:

磁盘挂载上限为虚拟机不超过16块,裸金属不超过10块。在此基础上还受限于虚拟机/裸金属规格可挂载磁盘数上限。(目前支持通过控制台和API为CCE节点添加多块数据盘)。

如果数据盘正供容器运行时和Kubelet组件使用,则不可被卸载,否则将导致节点不可用。

storage

否

Storage object

参数解释:

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

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

约束限制:

  • v1.15.11-r0及以上集群版本支持此字段。不支持集群版本填写此字段将被忽略。

  • 如存在节点规格涉及本地盘并同时使用云硬盘场景时,请勿缺省此参数,避免出现将用户未期望的磁盘分区。

  • 如希望数据盘取值范围调整至20-32768,请勿缺省此参数。

  • 如希望使用共享磁盘空间(取消runtime和kubernetes分区),请勿缺省此参数,共享磁盘空间请参考数据盘空间分配说明。

  • 如希望系统组件存储在系统盘中,请勿缺省此参数。

取值范围:

不涉及

默认取值:

不涉及

runtime

否

Runtime object

参数解释:

容器运行时, 默认场景:

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

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

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

约束限制:

不涉及

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"
}]

约束限制:

  • taints配置不超过20条。

  • 参数未指定时将不会更新节点池的自定义Taints。

  • 参数为空数组时将删除节点池的自定义Taints。

waitPostInstallFinish

否

Boolean

参数解释:

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

约束限制:

不涉及

取值范围:

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

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

默认取值:

false

k8sTags

否

Map<String,String>

参数解释:

格式为key/value键值对。

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

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

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

示例:

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

约束限制:

  • 键值对个数不超过20条。

  • 参数未指定时将不会更新节点池的自定义K8s标签。

  • 参数为空对象时将删除节点池的自定义K8s标签。

userTags

否

Array of UserTag objects

参数解释:

云服务器标签(资源标签)。

约束限制:

  • 键必须唯一,CCE支持的最大用户自定义标签数量依region而定,自定义标签数上限为8个。

  • 参数未指定时将不会更新节点池的自定义云服务器标签。

  • 参数为空数组时将删除节点池的自定义云服务器标签。

nodeNameTemplate

否

nodeNameTemplate object

参数解释:

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

约束限制:

仅 v1.28.1/v1.27.3/v1.25.6/v1.23.11/v1.21.12 及以上集群支持配置节点名称固定前后缀

取值范围:

不涉及

默认取值:

不涉及

initializedConditions

否

Array of strings

参数解释:

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

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

使用示例如下:

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

  2. 更新节点,传入参数 "initializedConditions": ["NodeInitial"],节点池新建的节点注册到集群时默认会被设置为不可调度;

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

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

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

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

约束限制:

  • initializedConditions中超时时间取值范围为[1-99]秒

  • 必须以字母、数字组成,长度范围1-20位。

  • 标记数量不超过2个。

  • 超时时间仅支持分钟(m)单位。

serverEnterpriseProjectID

否

String

参数解释:

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

约束限制:

创建节点/节点池场景:可指定已存在企业项目,当取值为空时,该字段继承集群企业项目属性。

更新节点池场景:配置修改后仅会对新增节点的服务器生效,存量节点需前往EPS界面迁移。

取值范围:

不涉及

默认取值:

如果更新时不指定值,不会更新该字段。

当该字段为空时,返回集群企业项目。

nodeNicSpecUpdate

否

nodeNicSpecUpdate object

参数解释:

更新节点的网卡信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

extendParam

否

NodePoolUpdateExtendParam object

参数解释:

节点池更新时支持的扩展参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

publicIP

否

NodeEIPSpec object

参数解释:

节点弹性IP参数。

约束限制:

如果要删除该参数,请传一个空对象。

取值范围:

不涉及

默认取值:

不涉及

表7 Login

参数

是否必选

参数类型

描述

sshKey

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

userPassword

否

UserPassword object

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

removeUserPassword

否

Boolean

参数解释:

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

约束限制:

仅更新节点池场景支持该参数,设置为true时不允许设置userPassword

取值范围:

不涉及

默认取值:

false

removeSSHKey

否

Boolean

参数解释:

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

约束限制:

仅更新节点池场景支持该参数,设置为true时不允许设置sshKey

取值范围:

不涉及

默认取值:

false

表8 UserPassword

参数

是否必选

参数类型

描述

username

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

root。

password

是

String

参数解释:

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

约束限制:

创建节点时password字段需要加盐加密,具体方法请参见创建节点时password字段加盐加密。

取值范围:

密码复杂度要求:

  • 长度为8-26位。

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

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

默认取值:

不涉及

表9 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

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表10 VolumeMetadata

参数

是否必选

参数类型

描述

__system__encrypted

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

该字段不存在时,云硬盘默认为不加密。

__system__cmkid

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表11 Storage

参数

是否必选

参数类型

描述

storageSelectors

是

Array of StorageSelectors objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

storageGroups

是

Array of StorageGroups objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表12 StorageSelectors

参数

是否必选

参数类型

描述

name

是

String

参数解释:

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

约束限制:

各个selector间的名字不能重复。

取值范围:

不涉及

默认取值:

不涉及

storageType

是

String

参数解释:

存储类型。

约束限制:

  • local存储类型不支持磁盘选择,所有本地盘将被组成一个VG,因此也仅允许只有一个local类型的storageSelector。

  • system存储类型不支持磁盘选择,选择系统盘作为系统组件存储磁盘。因此也仅允许只有一个system类型的storageSelector,且name必须为cceUse。

取值范围:

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

默认取值:

不涉及

matchLabels

否

matchLabels object

参数解释:

evs盘的匹配字段。

约束限制:

storageType设置为system(系统盘)时,无需设置此字段。

取值范围:

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

默认取值:

不涉及

表13 matchLabels

参数

是否必选

参数类型

描述

size

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

volumeType

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

metadataEncrypted

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

metadataCmkid

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

count

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表14 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选择。

约束限制:

系统组件无法分别存储于系统盘与数据盘中,因此选择selector的type为system时,group只能选择一个selector。

取值范围:

不涉及

默认取值:

不涉及

virtualSpaces

是

Array of VirtualSpace objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表15 VirtualSpace

参数

是否必选

参数类型

描述

name

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

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

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

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

默认取值:

不涉及

size

是

String

参数解释:

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

约束限制:

  • 同一StorageGroup内所有VirtualSpace的size之和≤100%

  • 单个VirtualSpace的size必须≥1%且≤100%

取值范围:

1% ~ 100%

默认取值:

不涉及

lvmConfig

否

LVMConfig object

参数解释:

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

约束限制:

一个virtualSpace仅支持一个config配置。

取值范围:

不涉及

默认取值:

不涉及

runtimeConfig

否

RuntimeConfig object

参数解释:

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

约束限制:

一个virtualSpace仅支持一个config配置。

取值范围:

不涉及

默认取值:

不涉及

表16 LVMConfig

参数

是否必选

参数类型

描述

lvType

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

path

否

String

参数解释:

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

约束限制:

挂载路径请填写业务目录路径,不可设置为空或根目录等操作系统关键路径。不可填写的操作系统关键路径如下:

/, /home, /home/, /bin, /bin/, /lib, /lib/, /root, /root/, /boot, /boot/, /dev, /dev/, /etc, /etc/, /lost+found, /lost+found/, /mnt, /mnt/, /proc, /proc/,/sbin, /sbin/, /srv, /srv/, /tmp, /tmp/, /var, /var/, /media, /media/, /opt, /opt/, /selinux, /selinux/, /sys, /sys/, /usr, /usr/, /opt/cloud/, /mnt/paas/, /home/paas/, /var/paas/, /var/lib/, /var/script/

取值范围:

不涉及

默认取值:

不涉及

表17 RuntimeConfig

参数

是否必选

参数类型

描述

lvType

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表18 Runtime

参数

是否必选

参数类型

描述

name

否

String

参数解释:

容器运行时。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

  • v1.25以下集群:默认为"docker";

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

  • 操作系统为EulerOS 2.5的节点默认为"docker",其余操作系统的节点默认为"containerd"。

runtimeClass

否

String

参数解释:

容器运行时子类别。

约束限制:

仅CCE Turbo集群下弹性云服务器-物理机类型节点且上级运行时为containerd场景支持使用安全运行时。

取值范围:

  • 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或以上版本。

默认取值:

runc

表19 Taint

参数

是否必选

参数类型

描述

key

是

String

参数解释:

K8s污点的键。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

value

否

String

参数解释:

K8s污点的值。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

effect

是

String

参数解释:

K8s污点的作用效果。

约束限制:

不涉及

取值范围:

只可选NoSchedule,PreferNoSchedule或NoExecute。

默认取值:

不涉及

表20 UserTag

参数

是否必选

参数类型

描述

key

否

String

参数解释:

云服务器标签的键。

约束限制:

不得以"CCE-"、"__type_baremetal"或"_sys_"开头。

取值范围:

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

默认取值:

不涉及

value

否

String

参数解释:

云服务器标签的值。

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

表21 nodeNameTemplate

参数

是否必选

参数类型

描述

nodeNamePrefix

否

String

参数解释:

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

约束限制:

仅支持小写字母、数字、连字符(-)和点(.),必须以小写字母开头,并且符合FRC 1123中定义的DNS子域名命名规范。

取值范围:

不涉及

默认取值:

不涉及

nodeNameSuffix

否

String

参数解释:

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

约束限制:

仅支持小写字母、数字、连字符(-)和点(.),后缀结尾必须为小写字母或者数字,并且符合FRC 1123中定义的DNS子域名命名规范。

取值范围:

不涉及

默认取值:

不涉及

表22 nodeNicSpecUpdate

参数

是否必选

参数类型

描述

primaryNic

否

primaryNic object

参数解释:

主网卡的描述信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表23 primaryNic

参数

是否必选

参数类型

描述

subnetId

否

String

参数解释:

网卡所在子网的网络ID。

约束限制:

主网卡创建时若未指定subnetId,将使用集群子网。若节点池同时配置了subnetList,则节点池扩容子网以subnetList字段为准。扩展网卡创建时必须指定subnetId。

取值范围:

不涉及

默认取值:

不涉及

subnetList

否

Array of strings

参数解释:

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

约束限制:

最多支持配置20个子网。

取值范围:

不涉及

默认取值:

不涉及

表24 NodePoolUpdateExtendParam

参数

是否必选

参数类型

描述

agency_name

否

String

参数解释:

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

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

alpha.cce/preInstall

否

String

参数解释:

安装前执行脚本。

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

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

约束限制:

安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

取值范围:

不涉及

默认取值:

不涉及

alpha.cce/postInstall

否

String

参数解释:

安装后执行脚本。

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

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

约束限制:

安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

取值范围:

不涉及

默认取值:

不涉及

alpha.cce/NodeImageID

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表25 NodeEIPSpec

参数

是否必选

参数类型

描述

iptype

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

bandwidth

否

NodeBandwidth object

参数解释:

弹性IP的带宽参数。

约束限制:

不涉及

表26 NodeBandwidth

参数

是否必选

参数类型

描述

chargemode

否

String

参数解释:

带宽的计费类型。

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

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

约束限制:

不涉及

取值范围:

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

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

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

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

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

默认取值:

不涉及

size

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

sharetype

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表27 NodePoolNodeAutoscaling

参数

是否必选

参数类型

描述

enable

否

Boolean

参数解释:

是否开启自动扩缩容。

约束限制:

不涉及

取值范围:

  • false:不开启自动扩缩容

  • true:开启自动扩缩容

默认取值:

false

minNodeCount

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

0

maxNodeCount

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

0

scaleDownCooldownTime

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

0-2147483646。

默认取值:

0

priority

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

0

scaleDownUnneededTime

否

Integer

参数解释:

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

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

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

约束限制:

不涉及

取值范围:

0-2147483647。

说明:

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

默认取值:

默认为空

scaleDownUtilizationThreshold

否

Float

参数解释:

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

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

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

约束限制:

不涉及

取值范围:

0-1。

说明:

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

默认取值:

默认为空

表28 NodePoolRepairPolicy

参数

是否必选

参数类型

描述

enable

否

Boolean

参数解释:

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

约束限制:

不涉及

取值范围:

  • false:使用基础自愈策略

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

默认取值:

false

policy

否

String

参数解释:

节点自愈的恢复策略

约束限制:

  • 当 enable 为 true 时,此字段必填。

  • 当 enable 为 false 时,此字段无效,用户填写任意值均不会生效,系统使用基础自愈策略。

取值范围:

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

默认取值:

不涉及

表29 NodeManagement

参数

是否必选

参数类型

描述

serverGroupReference

否

String

参数解释:

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

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

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

约束限制:

指定云服务器组时节点池中的节点数量不允许超出云服务器组的配额限制。

取值范围:

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

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

默认取值:

不涉及

表30 ExtensionScaleGroup

参数

是否必选

参数类型

描述

metadata

否

ExtensionScaleGroupMetadata object

参数解释:

扩容伸缩组的基本信息。

约束限制:

不涉及

spec

否

ExtensionScaleGroupSpec object

参数解释:

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

约束限制:

不涉及

表31 ExtensionScaleGroupMetadata

参数

是否必选

参数类型

描述

uid

否

String

参数解释:

扩展伸缩组的uuid

约束限制:

  • 创建节点池时自动生成,填写无效。

  • 更新节点池时,如果填写则更新指定伸缩组。

  • 更新节点池时,如果不填写则删除当前绑定的伸缩组,并创建新的伸缩组。

取值范围:

不涉及

默认取值:

不涉及

name

否

String

参数解释:

扩展伸缩组的名称。

约束限制:

不能为 default。

取值范围:

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

默认取值:

不涉及

表32 ExtensionScaleGroupSpec

参数

是否必选

参数类型

描述

flavor

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

az

否

String

参数解释:

节点可用区。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

未指定或者为空则以默认伸缩组中配置为准。

capacityReservationSpecification

否

CapacityReservationSpecification object

参数解释:

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

约束限制:

不涉及

autoscaling

否

ScaleGroupAutoscaling object

参数解释:

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

约束限制:

不涉及

表33 CapacityReservationSpecification

参数

是否必选

参数类型

描述

id

否

String

参数解释:

私有池id。

约束限制:

preference为none时忽略该值。

取值范围:

不涉及

默认取值:

不涉及

preference

否

String

参数解释:

私有池容量选项。

约束限制:

为 none 时表示不指定容量预留,为 targeted 时表示指定容量预留,此时 id 不能为空。

取值范围:

不涉及

默认取值:

none

表34 ScaleGroupAutoscaling

参数

是否必选

参数类型

描述

enable

否

Boolean

参数解释:

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

约束限制:

不涉及

取值范围:

  • false:不开启自动扩缩容

  • true:开启自动扩缩容

默认取值:

false

extensionPriority

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

0

minNodeCount

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

0

maxNodeCount

否

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

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

默认取值:

0

响应参数

状态码:200

表35 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

API类型。

取值范围:

不涉及

apiVersion

String

参数解释:

API版本。

取值范围:

不涉及

metadata

NodePoolMetadata object

参数解释:

节点池的元数据信息。

取值范围:

不涉及

spec

NodePoolSpec object

参数解释:

节点池的规格描述。

取值范围:

不涉及

status

UpdateNodePoolStatus object

参数解释:

节点池状态。

取值范围:

不涉及

表36 NodePoolMetadata

参数

参数类型

描述

name

String

参数解释:

节点名池名称。

取值范围:

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

uid

String

参数解释:

节点池的uid。

取值范围:

不涉及

annotations

Map<String,String>

参数解释:

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

updateTimestamp

String

参数解释:

节点池更新时间。

取值范围:

不涉及

creationTimestamp

String

参数解释:

节点池创建时间。

取值范围:

不涉及

resourceVersion

Integer

参数解释:

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

取值范围:

不涉及

表37 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"后,节点池将同步更新存量节点的资源标签。

表38 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

取值范围:

不涉及

表39 Login

参数

参数类型

描述

sshKey

String

参数解释:

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

取值范围:

不涉及

userPassword

UserPassword object

参数解释:

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

取值范围:

不涉及

removeUserPassword

Boolean

参数解释:

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

取值范围:

不涉及

removeSSHKey

Boolean

参数解释:

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

取值范围:

不涉及

表40 UserPassword

参数

参数类型

描述

username

String

参数解释:

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

取值范围:

不涉及

password

String

参数解释:

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

取值范围:

密码复杂度要求:

  • 长度为8-26位。

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

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

表41 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

参数解释:

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

取值范围:

不涉及

表42 VolumeMetadata

参数

参数类型

描述

__system__encrypted

String

参数解释:

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

取值范围:

不涉及

__system__cmkid

String

参数解释:

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

取值范围:

不涉及

表43 Storage

参数

参数类型

描述

storageSelectors

Array of StorageSelectors objects

参数解释:

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

取值范围:

不涉及

storageGroups

Array of StorageGroups objects

参数解释:

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

取值范围:

不涉及

表44 StorageSelectors

参数

参数类型

描述

name

String

参数解释:

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

取值范围:

不涉及

storageType

String

参数解释:

存储类型。

取值范围:

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

matchLabels

matchLabels object

参数解释:

evs盘的匹配字段。

取值范围:

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

表45 matchLabels

参数

参数类型

描述

size

String

参数解释:

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

取值范围:

不涉及

volumeType

String

参数解释:

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

取值范围:

不涉及

metadataEncrypted

String

参数解释:

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

取值范围:

不涉及

metadataCmkid

String

参数解释:

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

取值范围:

不涉及

count

String

参数解释:

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

取值范围:

不涉及

表46 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中空间配置的详细管理。

取值范围:

不涉及

表47 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配置管理,适用于运行时空间配置。

取值范围:

不涉及

表48 LVMConfig

参数

参数类型

描述

lvType

String

参数解释:

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

取值范围:

不涉及

path

String

参数解释:

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

取值范围:

不涉及

表49 RuntimeConfig

参数

参数类型

描述

lvType

String

参数解释:

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

取值范围:

不涉及

表50 NodeEIPSpec

参数

参数类型

描述

iptype

String

参数解释:

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

取值范围:

不涉及

bandwidth

NodeBandwidth object

参数解释:

弹性IP的带宽参数。

表51 NodeBandwidth

参数

参数类型

描述

chargemode

String

参数解释:

带宽的计费类型。

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

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

取值范围:

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

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

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

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

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

size

Integer

参数解释:

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

取值范围:

不涉及

sharetype

String

参数解释:

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

取值范围:

不涉及

表52 NodeNicSpec

参数

参数类型

描述

primaryNic

NicSpec object

参数解释:

主网卡的描述信息。

extNics

Array of NicSpec objects

参数解释:

扩展网卡。

表53 NicSpec

参数

参数类型

描述

subnetId

String

参数解释:

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

取值范围:

不涉及

fixedIps

Array of strings

参数解释:

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

ipBlock

String

参数解释:

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

取值范围:

不涉及

subnetList

Array of strings

参数解释:

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

表54 Taint

参数

参数类型

描述

key

String

参数解释:

K8s污点的键。

取值范围:

不涉及

value

String

参数解释:

K8s污点的值。

取值范围:

不涉及

effect

String

参数解释:

K8s污点的作用效果。

取值范围:

只可选NoSchedule,PreferNoSchedule或NoExecute。

表55 UserTag

参数

参数类型

描述

key

String

参数解释:

云服务器标签的键。

取值范围:

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

value

String

参数解释:

云服务器标签的值。

取值范围:

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

表56 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或以上版本。

表57 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

参数解释:

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

取值范围:

不涉及

表58 HostnameConfig

参数

参数类型

描述

type

String

参数解释:

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

取值范围:

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

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

表59 PackageConfiguration

参数

参数类型

描述

name

String

参数解释:

组件名称。

取值范围:

不涉及

configurations

Array of ConfigurationItem objects

参数解释:

组件配置项。

表60 ConfigurationItem

参数

参数类型

描述

name

String

参数解释:

组件配置参数名称。

取值范围:

不涉及

value

Object

参数解释:

组件配置参数值。

取值范围:

不涉及

表61 nodeNameTemplate

参数

参数类型

描述

nodeNamePrefix

String

参数解释:

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

取值范围:

不涉及

nodeNameSuffix

String

参数解释:

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

取值范围:

不涉及

表62 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,代表取值为空。

表63 NodePoolRepairPolicy

参数

参数类型

描述

enable

Boolean

参数解释:

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

取值范围:

  • false:使用基础自愈策略

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

policy

String

参数解释:

节点自愈的恢复策略

取值范围:

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

表64 NodeManagement

参数

参数类型

描述

serverGroupReference

String

参数解释:

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

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

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

取值范围:

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

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

表65 SecurityID

参数

参数类型

描述

id

String

参数解释:

节点上的容器安全组ID。

取值范围:

不涉及

表66 ExtensionScaleGroup

参数

参数类型

描述

metadata

ExtensionScaleGroupMetadata object

参数解释:

扩容伸缩组的基本信息。

spec

ExtensionScaleGroupSpec object

参数解释:

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

表67 ExtensionScaleGroupMetadata

参数

参数类型

描述

uid

String

参数解释:

扩展伸缩组的uuid

取值范围:

不涉及

name

String

参数解释:

扩展伸缩组的名称。

default。

取值范围:

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

表68 ExtensionScaleGroupSpec

参数

参数类型

描述

flavor

String

参数解释:

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

取值范围:

不涉及

az

String

参数解释:

节点可用区。

取值范围:

不涉及

capacityReservationSpecification

CapacityReservationSpecification object

参数解释:

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

autoscaling

ScaleGroupAutoscaling object

参数解释:

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

表69 CapacityReservationSpecification

参数

参数类型

描述

id

String

参数解释:

私有池id。

取值范围:

不涉及

preference

String

参数解释:

私有池容量选项。

取值范围:

不涉及

表70 ScaleGroupAutoscaling

参数

参数类型

描述

enable

Boolean

参数解释:

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

取值范围:

  • false:不开启自动扩缩容

  • true:开启自动扩缩容

extensionPriority

Integer

参数解释:

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

取值范围:

不涉及

minNodeCount

Integer

参数解释:

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

取值范围:

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

maxNodeCount

Integer

参数解释:

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

取值范围:

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

表71 UpdateNodePoolStatus

参数

参数类型

描述

currentNode

Integer

参数解释:

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

取值范围:

不涉及

creatingNode

Integer

参数解释:

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

取值范围:

不涉及

deletingNode

Integer

参数解释:

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

取值范围:

不涉及

activeNode

Integer

参数解释:

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

取值范围:

不涉及

configurationSyncedNodeCount

Integer

参数解释

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

取值范围:

不涉及

phase

String

参数解释:

节点池状态。

取值范围:

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

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

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

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

  • Deleting:删除中

  • Error:错误

说明:

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

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

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

conditions

Array of NodePoolCondition objects

参数解释:

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

scaleGroupStatuses

Array of ScaleGroupStatus objects

参数解释:

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

表72 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类型定义。

表73 existingNodeCount

参数

参数类型

描述

postPaid

Integer

参数解释:

按需计费节点个数。

取值范围:

不涉及

total

Integer

参数解释:

按需计费节点总数。

取值范围:

不涉及

表74 upcomingNodeCount

参数

参数类型

描述

postPaid

Integer

参数解释:

按需计费节点个数。

取值范围:

不涉及

total

Integer

参数解释:

按需计费节点总数。

取值范围:

不涉及

表75 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详细描述。

取值范围:

不涉及

请求示例

  • 修改节点池中的节点数为1。

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "spec" : {
        "initialNodeCount" : 1
      }
    }
  • 修改密钥对。

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "spec" : {
        "initialNodeCount" : 1,
        "nodeTemplate" : {
          "login" : {
            "sshKey" : "KeyPair-IES"
          }
        },
        "ignoreInitialNodeCount" : true
      }
    }
  • 修改云服务器组。

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "spec" : {
        "initialNodeCount" : 1,
        "nodeManagementUpdate" : {
          "serverGroupReference" : "8a611bcf-xxxx-xxxx-xxxx-be4ac7bc9075"
        },
        "ignoreInitialNodeCount" : true
      }
    }

响应示例

状态码:200

表示更新指定节点池成功。

{
  "kind" : "NodePool",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "lc-it-nodepool-3",
    "uid" : "1deef848-690d-11ea-a11b-0255ac1001b7"
  },
  "spec" : {
    "initialNodeCount" : 1,
    "type" : "vm",
    "nodeTemplate" : {
      "flavor" : "Sit3.xlarge.2",
      "az" : "******",
      "os" : "EulerOS 2.5",
      "login" : {
        "sshKey" : "KeyPair-001"
      },
      "rootVolume" : {
        "volumetype" : "SAS",
        "size" : 40
      },
      "dataVolumes" : [ {
        "volumetype" : "SAS",
        "size" : 100,
        "extendParam" : {
          "useType" : "docker"
        }
      } ],
      "publicIP" : {
        "iptype" : "5_g-vm",
        "bandwidth" : {
          "chargemode" : "bandwidth",
          "size" : 5,
          "sharetype" : "PER"
        }
      },
      "nodeNicSpec" : {
        "primaryNic" : {
          "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a"
        }
      },
      "billingMode" : 0,
      "extendParam" : {
        "maxPods" : 110
      },
      "k8sTags" : {
        "cce.cloud.com/cce-nodepool" : "lc-it-nodepool-3"
      }
    },
    "autoscaling" : { },
    "nodeManagement" : {
      "serverGroupReference" : "8a611bcf-xxxx-xxxx-xxxx-be4ac7bc9075"
    }
  },
  "status" : {
    "phase" : ""
  }
}

状态码

状态码

描述

200

表示更新指定节点池成功。

错误码

请参见错误码。