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

纳管节点

功能介绍

该API用于在指定集群下纳管节点。

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

接口约束

  • 纳管节点支持ECS(弹性云服务器)节点、BMS(裸金属服务器)节点以及DeH(专属主机)节点。

  • 待纳管节点必须状态为“运行中”,未被其他集群所使用,且不携带 CCE 专属节点标签CCE-Dynamic-Provisioning-Node。

  • 待纳管节点需与集群在同一虚拟私有云内(若集群版本低于1.13.10,纳管节点还需要与CCE集群在同一子网内)。

  • 待纳管节点需挂载数据盘,可使用本地盘(磁盘增强型实例)或至少挂载一块20GiB及以上的数据盘,且不存在10GiB以下的数据盘。

  • 待纳管节点规格要求:CPU必须2核及以上,内存必须4GiB及以上,网卡有且仅能有一个。

  • 如果使用了企业项目,则待纳管节点需要和集群在同一企业项目下,不然在纳管时会识别不到资源,导致无法纳管。从v1.21.15-r0、v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0集群版本开始,待纳管节点无需和集群在同一企业项目下,纳管后节点的企业项目保持不变。

  • 集群开启IPv6后,只支持纳管所在的子网开启了IPv6功能的节点;集群未开启IPv6,只支持纳管所在的子网未开启IPv6功能的节点。

  • CCE Turbo集群要求节点支持Sub-ENI或可以绑定至少16张ENI网卡,具体规格请参见创建节点时控制台上可以选择的节点规格。

  • 纳管节点时已分区的数据盘会被忽略,您需要保证节点至少有一个未分区且符合规格的数据盘。

调用方法

请参见如何调用API。

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/add

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

账号的项目ID

默认取值:

不涉及

cluster_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参数

参数

是否必选

参数类型

描述

apiVersion

是

String

参数解释:

API版本

约束限制:

固定值,不允许修改

取值范围:

不涉及

默认取值:

v3

kind

是

String

参数解释:

API类型

约束限制:

固定值,不允许修改

取值范围:

不涉及

默认取值:

List

nodeList

是

Array of AddNode objects

参数解释:

纳管节点列表,当前最多支持同时纳管200个节点。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 AddNode

参数

是否必选

参数类型

描述

serverID

是

String

参数解释:

服务器ID,从ECS/BMS控制台获取。

说明:
获取方式:在控制台的“服务列表”中,单击“计算 > 弹性云服务器 ECS/裸金属服务器 BMS”,单击服务器的名称,在服务器详情页的“基本信息”页签下找到“ID”字段复制即可。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

spec

是

ReinstallNodeSpec object

参数解释:

节点重装配置参数。当前不支持纳管节点接入节点池。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 ReinstallNodeSpec

参数

是否必选

参数类型

描述

os

是

String

参数解释:

操作系统。指定自定义镜像场景将以IMS镜像的实际操作系统版本为准。请选择当前集群支持的操作系统版本。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

login

否

Login object

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

name

否

String

参数解释:

节点名称

说明:
重装时指定将修改节点名称,且服务器名称会同步修改。默认以服务器当前名称作为节点名称。

约束限制:

命名规则:以小写字母开头,由小写字母、数字、中划线(-)、点(.)组成,长度范围1-69位。

取值范围:

不涉及

默认取值:

不涉及

serverConfig

否

ReinstallServerConfig object

参数解释:

服务器配置

约束限制:

不涉及

volumeConfig

否

ReinstallVolumeConfig object

参数解释:

卷管理配置

约束限制:

不涉及

runtimeConfig

否

ReinstallRuntimeConfig object

参数解释:

容器运行时配置

约束限制:

不涉及

k8sOptions

否

ReinstallK8sOptionsConfig object

参数解释:

Kubernetes节点配置

约束限制:

不涉及

lifecycle

否

NodeLifecycleConfig object

参数解释:

节点自定义生命周期配置

约束限制:

不涉及

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,移除初始化污点。

节点Conditions示例如下:

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

约束限制:

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

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

  • 标记数量不超过2个。

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

extendParam

否

ReinstallExtendParam object

参数解释:

重装拓展参数,已废弃

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

hostnameConfig

否

HostnameConfig object

参数解释:

K8S节点名称配置参数,支持的集群版本为v1.23.6-r0到v1.25或者v1.25.2-r0及以上。

约束限制:

重置节点场景暂不支持该配置参数

取值范围:

不涉及

默认取值:

不涉及

表6 Login

参数

是否必选

参数类型

描述

sshKey

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

userPassword

否

UserPassword object

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

removeUserPassword

否

Boolean

参数解释:

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

约束限制:

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

取值范围:

不涉及

默认取值:

false

removeSSHKey

否

Boolean

参数解释:

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

约束限制:

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

取值范围:

不涉及

默认取值:

false

表7 UserPassword

参数

是否必选

参数类型

描述

username

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

root。

password

是

String

参数解释:

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

约束限制:

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

取值范围:

密码复杂度要求:

  • 长度为8-26位。

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

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

默认取值:

不涉及

表8 ReinstallServerConfig

参数

是否必选

参数类型

描述

userTags

否

Array of UserTag objects

参数解释:

云服务器标签(资源标签),键必须唯一,CCE支持的最大用户自定义标签数量依region而定,自定义标签数上限为8个。

约束限制:

不涉及

rootVolume

否

ReinstallVolumeSpec object

参数解释:

系统盘重装配置

约束限制:

不涉及

表9 UserTag

参数

是否必选

参数类型

描述

key

否

String

参数解释:

云服务器标签的键。

约束限制:

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

取值范围:

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

默认取值:

不涉及

value

否

String

参数解释:

云服务器标签的值。

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

表10 ReinstallVolumeSpec

参数

是否必选

参数类型

描述

imageID

否

String

参数解释:

用户自定义镜像ID

说明:
获取方式:在控制台的“服务列表”中,单击“计算 > 镜像服务 > 私有镜像”,单击镜像的名称,在服务器详情页的“基本信息”页签下找到“镜像ID”字段复制即可。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

cmkID

否

String

参数解释:

用户主密钥ID。默认为空时,表示云硬盘不加密。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表11 ReinstallVolumeConfig

参数

是否必选

参数类型

描述

lvmConfig

否

String

参数解释:

Docker数据盘配置项(已废弃)。

默认配置示例如下:

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

约束限制:

不涉及

取值范围:

包含如下字段:

  • 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

默认取值:

不涉及

storage

否

Storage object

参数解释:

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

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

约束限制:

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

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

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

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

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

取值范围:

不涉及

默认取值:

不涉及

volumeResetPolicy

否

String

参数解释:

节点重置时磁盘数据的保留策略。

不传或该字段为空时,默认使用reset_managed_volumes策略清空由CCE管理的数据盘。

约束限制:

当保留自定义挂载卷时,挂载到指定目录与作为持久存储卷的高级配置不允许修改。

取值范围:

  • reset_managed_volumes:清空由CCE管理的数据盘。

  • retain_custom_volumes:保留用户自定义挂载卷(包括挂载到指定目录的卷和用作本地持久卷的卷),集群版本需为v1.29.15-r90、v1.30.14-r90、v1.31.14-r50、v1.32.13-r20、v1.33.12-r0、v1.34.8-r0、v1.35.5-r0、v1.36.1-r10或以上版本。

默认取值:

reset_managed_volumes

表12 Storage

参数

是否必选

参数类型

描述

storageSelectors

是

Array of StorageSelectors objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

storageGroups

是

Array of StorageGroups objects

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表13 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字段。

默认取值:

不涉及

表14 matchLabels

参数

是否必选

参数类型

描述

size

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

volumeType

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

metadataEncrypted

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

metadataCmkid

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

count

否

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表16 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配置。

取值范围:

不涉及

默认取值:

不涉及

表17 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/

取值范围:

不涉及

默认取值:

不涉及

表18 RuntimeConfig

参数

是否必选

参数类型

描述

lvType

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表19 ReinstallRuntimeConfig

参数

是否必选

参数类型

描述

dockerBaseSize

否

Integer

参数解释:

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

说明:
  • 不配置该值或值为0时将使用默认值,Devicemapper模式下默认值为10;OverlayFS模式默认不限制单容器可用空间大小,且dockerBaseSize设置仅在新版本集群的EulerOS/HCEOS2.0节点上生效。

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

  • Devicemapper模式下建议dockerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

containerBaseSize

否

Integer

参数解释:

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

说明:
  • 更新节点池时,不支持更新此参数

  • 不配置该值或值为0时将使用默认值,OverlayFS模式默认不限制单容器可用空间大小;Devicemapper模式下默认值为10,且containerBaseSize设置仅在新版本集群(v1.23.14-r0/v1.25.9-r0/v1.27.6-r0/v1.28.4-r0及以上)的EulerOS/HCEOS2.0节点上生效。

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

  • Devicemapper模式下建议containerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替;Devicemapper模式在新版中仅有共池裸机使用,已逐步废弃。

更新节点池时,不支持更新此参数

约束限制:

取值范围:

不涉及

默认取值:

不涉及

runtime

否

Runtime object

参数解释:

容器运行时, 默认场景:

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

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

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

约束限制:

不涉及

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

表21 ReinstallK8sOptionsConfig

参数

是否必选

参数类型

描述

labels

否

Map<String,String>

参数解释:

格式为key/value键值对。

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

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

约束限制:

键值对个数不超过20条。

示例:

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

取值范围:

不涉及

默认取值:

不涉及

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条。

maxPods

否

Integer

参数解释:

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

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

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

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

表22 Taint

参数

是否必选

参数类型

描述

key

是

String

参数解释:

K8s污点的键。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

value

否

String

参数解释:

K8s污点的值。

约束限制:

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

取值范围:

不涉及

默认取值:

不涉及

effect

是

String

参数解释:

K8s污点的作用效果。

约束限制:

不涉及

取值范围:

只可选NoSchedule,PreferNoSchedule或NoExecute。

默认取值:

不涉及

表23 NodeLifecycleConfig

参数

是否必选

参数类型

描述

preInstall

否

String

参数解释:

安装前执行脚本。

约束限制:

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

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

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

取值范围:

不涉及

默认取值:

不涉及

postInstall

否

String

参数解释:

安装后执行脚本。

约束限制:

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

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

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

取值范围:

不涉及

默认取值:

不涉及

waitPostInstallFinish

否

Boolean

参数解释:

该参数用于控制重置/纳管/批量重置节点时, post-install脚本执行完成前允许节点调度 的行为。当操作的节点属于节点池时,以节点池相关配置为准。当该参数未设置或者为false时,在kubernetes节点就绪时,容器即可被调度到可用节点。当该参数为true时,在kubernetes节点就绪时且post-install脚本执行完成时,容器才可被调度到可用节点。

约束限制:

不涉及

取值范围:

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

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

默认取值:

false

表24 ReinstallExtendParam

参数

是否必选

参数类型

描述

alpha.cce/NodeImageID

否

String

参数解释:

指定待切换目标操作系统所使用的用户镜像ID,已废弃。

指定此参数等价于指定ReinstallVolumeSpec中imageID,原取值将被覆盖。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表25 HostnameConfig

参数

是否必选

参数类型

描述

type

是

String

参数解释:

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

约束限制:

  • 配置为cceNodeName的节点, 其节点名称、K8S节点名称以及虚机名称相同。节点名称不支持修改, 并且在ECS侧修改了虚机名称,同步云服务器时,不会将修改后的虚机名称同步到节点。

  • 配置为cceNodeName的节点,为了避免K8S节点名称冲突,系统会自动在节点名称后添加后缀,后缀的格式为中划线(-)+五位随机字符,随机字符的取值为[a-z0-9]。

取值范围:

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

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

默认取值:

默认为“privateIp”。

响应参数

状态码:200

表26 响应Body参数

参数

参数类型

描述

jobid

String

参数解释:

提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。

取值范围:

不涉及

请求示例

纳管一个节点到集群中,且节点操作系统为EulerOS 2.5。

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/add

{
  "kind" : "List",
  "apiVersion" : "v3",
  "nodeList" : [ {
    "serverID" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "spec" : {
      "name" : "my-ecs-0001",
      "os" : "EulerOS 2.5",
      "login" : {
        "sshKey" : "KeyPair-001"
      }
    }
  } ]
}

响应示例

状态码:200

表示在指定集群下纳管节点的作业下发成功。

{
  "jobid" : "2ec9b78d-9368-46f3-8f29-d1a95622a568"
}

状态码

状态码

描述

200

表示在指定集群下纳管节点的作业下发成功。

错误码

请参见错误码。