重置节点
功能介绍
该API用于在指定集群下重置节点。

URI
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/reset
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 账号的项目ID 默认取值: 不涉及 |
cluster_id |
是 |
String |
参数解释: 集群ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 集群ID 默认取值: 不涉及 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
参数解释: 消息体的类型(格式) 约束限制: GET方法不做校验 取值范围:
默认取值: 不涉及 |
X-Auth-Token |
是 |
String |
参数解释: 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
apiVersion |
是 |
String |
API版本,固定值“v3”。 |
kind |
是 |
String |
API类型,固定值“List”。 |
nodeList |
是 |
Array of ResetNode objects |
重置节点列表,当前最多支持同时重置200个节点。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
nodeID |
是 |
String |
节点ID,获取方式请参见如何获取接口URI中参数。 |
spec |
是 |
ReinstallNodeSpec object |
节点重装配置参数。节点池内节点不支持外部指定,将以节点池配置进行重装,默认节点池中节点此参数必选。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
os |
是 |
String |
操作系统。指定自定义镜像场景将以IMS镜像的实际操作系统版本为准。请选择当前集群支持的操作系统版本。 |
login |
是 |
Login object |
节点的登录方式。密钥对和密码登录方式二者必选其一。 |
name |
否 |
String |
节点名称
说明:
重装时指定将修改节点名称,且服务器名称会同步修改。默认以服务器当前名称作为节点名称。
命名规则:以小写字母开头,由小写字母、数字、中划线(-)、点(.)组成,长度范围1-56位。 |
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调度到节点上。 cce支持自定义初始化标记,在接收到initializedConditions参数后,会将参数值转换成节点标签,随节点下发,例如:cloudprovider.openvessel.io/inject-initialized-conditions=CCEInitial_CustomedInitial。 当节点上设置了此标签,会轮询节点的status.Conditions,查看conditions的type是否存在标记名,如CCEInitial、CustomedInitial标记,如果存在所有传入的标记,且状态为True,认为节点初始化完成,则移除初始化污点。
|
extendParam |
否 |
ReinstallExtendParam object |
重装拓展参数,已废弃 |
hostnameConfig |
否 |
HostnameConfig object |
K8S节点名称配置参数,支持的集群版本为v1.23.6-r0到v1.25或者v1.25.2-r0及以上。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
sshKey |
否 |
String |
参数解释: 选择密钥对方式登录时的密钥对名称。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
userPassword |
否 |
UserPassword object |
参数解释: 选择密码方式登录时的账号密码信息,之后可通过此账号密码登录节点。 约束限制: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
username |
否 |
String |
参数解释: 登录账号,默认为“root”。 约束限制: 不涉及 取值范围: 不涉及 默认取值: root。 |
password |
是 |
String |
参数解释: 登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。 约束限制: 创建节点时password字段需要加盐加密,具体方法请参见创建节点时password字段加盐加密。 取值范围: 密码复杂度要求:
默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
userTags |
否 |
Array of UserTag objects |
云服务器标签(资源标签),键必须唯一,CCE支持的最大用户自定义标签数量依region而定,自定义标签数上限为8个。 |
rootVolume |
否 |
ReinstallVolumeSpec object |
系统盘重装配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
参数解释: 云服务器标签的键。 约束限制: 不得以"CCE-"、"__type_baremetal"或"_sys_"开头。 取值范围: 标签键不能重复,首尾不能为空,不能包含特殊字符"=","*",“<”,“>”,“\”,“,”,“|”,“/”,不能包含非打印字符ASCII(0-31),长度不超过128个字符。 默认取值: 不涉及 |
value |
否 |
String |
参数解释: 云服务器标签的值。 约束限制: 不涉及 取值范围: 标签值首尾不能为空,不能包含特殊字符"=","*",“<”,“>”,“\”,“,”,“|”,不能包含非打印字符ASCII(0-31),长度不超过255个字符。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
imageID |
否 |
String |
用户自定义镜像ID |
cmkID |
否 |
String |
用户主密钥ID。默认为空时,表示云硬盘不加密。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
lvmConfig |
否 |
String |
Docker数据盘配置项(已废弃)。 默认配置示例如下: "lvmConfig":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 包含如下字段:
|
storage |
否 |
Storage object |
参数解释: 磁盘初始化配置管理参数。 该参数配置逻辑较为复杂,详细说明请参见节点磁盘挂载。 约束限制:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
storageSelectors |
是 |
Array of StorageSelectors objects |
参数解释: 磁盘选择,根据matchLabels和storageType对匹配的磁盘进行管理。磁盘匹配存在先后顺序,靠前的匹配规则优先匹配。 约束限制: 不涉及 |
storageGroups |
是 |
Array of StorageGroups objects |
参数解释: 由多个存储设备组成的存储组,用于各个存储空间的划分。 约束限制: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: selector的名字,作为storageGroup中selectorNames的索引。 约束限制: 各个selector间的名字不能重复。 取值范围: 不涉及 默认取值: 不涉及 |
storageType |
是 |
String |
参数解释: 存储类型。 约束限制:
取值范围: 当前仅支持evs(云硬盘)、local(本地盘)和system(系统盘)。 默认取值: 不涉及 |
matchLabels |
否 |
matchLabels object |
参数解释: evs盘的匹配字段。 约束限制: storageType设置为system(系统盘)时,无需设置此字段。 取值范围: 支持DataVolume中的size、volumeType、metadataEncrypted、metadataCmkid、count字段。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
size |
否 |
String |
参数解释: 匹配的磁盘大小,不填则无磁盘大小限制。例如:100。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
volumeType |
否 |
String |
参数解释: 云硬盘类型。 约束限制: 不涉及 取值范围: 目前支持SSD\GPSSD\SAS\ESSD\SATA等,不填则无云硬盘类型限制。 默认取值: 不涉及 |
metadataEncrypted |
否 |
String |
参数解释: 磁盘加密标识符,0代表不加密,1代表加密,不填则无磁盘加密标识符限制。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
metadataCmkid |
否 |
String |
参数解释: 加密磁盘的用户主密钥ID,长度为36字节的字符串,不填则无磁盘密钥ID限制。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
count |
否 |
String |
参数解释: 磁盘选择个数,不填则选择所有此类磁盘。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: storageGroups的名字,作为虚拟存储组的名字,因此各个group名字不能重复。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
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中空间配置的详细管理。 约束限制: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: virtualSpace的名称,当前仅支持四种类型:share、kubernetes、runtime、user。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
size |
是 |
String |
参数解释: virtualSpace的大小,仅支持整数百分比。例如:90%。 约束限制: 不涉及 取值范围: 该参数取值范围[10-90],一个group中所有virtualSpace的百分比之和不得超过100% 默认取值: 不涉及 |
lvmConfig |
否 |
LVMConfig object |
参数解释: lvm配置管理,适用于share、kubernetes和user空间配置。 约束限制: 一个virtualSpace仅支持一个config配置。 |
runtimeConfig |
否 |
RuntimeConfig object |
参数解释: runtime配置管理,适用于运行时空间配置。 约束限制: 一个virtualSpace仅支持一个config配置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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/ 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
lvType |
是 |
String |
参数解释: LVM写入模式:linear、striped。linear:线性模式;striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
dockerBaseSize |
否 |
Integer |
节点上单容器的可用磁盘空间大小(已废弃,请优先使用containerBaseSize参数),单位G。 不配置该值或值为0时将使用默认值,Devicemapper模式下默认值为10;OverlayFS模式默认不限制单容器可用空间大小,且dockerBaseSize设置仅在新版本集群的EulerOS节点上生效。 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节点上生效。 CCE节点容器运行时空间配置请参考数据盘空间分配说明。 Devicemapper模式下建议containerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替;Devicemapper模式在新版中仅有共池裸机使用,已逐步废弃。
说明:
更新节点池时,不支持更新此参数
|
runtime |
否 |
Runtime object |
参数解释: 容器运行时, 默认场景:
约束限制: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
参数解释: 容器运行时。 约束限制: 不涉及 取值范围: 不涉及 默认取值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
labels |
否 |
Map<String,String> |
格式为key/value键值对。键值对个数不超过20条。
示例: "k8sTags": { "key": "value" } |
taints |
否 |
Array of Taint objects |
参数解释: 支持给创建出来的节点加Taints来设置反亲和性。每条Taints包含以下3个参数:
字段使用场景:在节点创建场景下,支持指定初始值,查询时不返回该字段;在节点池场景下,其中节点模板中支持指定初始值,查询时支持返回该字段;在其余场景下,查询时都不会返回该字段。 示例: "taints": [{ "key": "status", "value": "unavailable", "effect": "NoSchedule" }, { "key": "looks", "value": "bad", "effect": "NoSchedule" }] 约束限制: taints配置不超过20条。 |
maxPods |
否 |
Integer |
节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
参数解释: 键。 约束限制: 必须以字母或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符。 取值范围: 不涉及 默认取值: 不涉及 |
value |
否 |
String |
参数解释: 值。 约束限制: 必须以字母或数字开头和结尾,可以包含字母、数字、连字符、下划线和点,最长63个字符。 取值范围: 不涉及 默认取值: 不涉及 |
effect |
是 |
String |
参数解释: 作用效果。 约束限制: 不涉及 取值范围: 只可选NoSchedule,PreferNoSchedule或NoExecute。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
preInstall |
否 |
String |
安装前执行脚本。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。 输入的值需要经过Base64编码,方法如下: echo -n "待编码内容" | base64 |
postInstall |
否 |
String |
安装后执行脚本。安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。 输入的值需要经过Base64编码,方法如下: echo -n "待编码内容" | base64 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
alpha.cce/NodeImageID |
否 |
String |
指定待切换目标操作系统所使用的用户镜像ID,已废弃。 指定此参数等价于指定ReinstallVolumeSpec中imageID,原取值将被覆盖。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
参数解释: K8S节点名称配置类型, 默认为“privateIp”。 约束限制:
取值范围:
默认取值: 默认为“privateIp”。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
jobid |
String |
提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 |
请求示例
-
重置默认节点池中节点,操作系统为EulerOS 2.5。
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/reset { "kind" : "List", "apiVersion" : "v3", "nodeList" : [ { "nodeID" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", "spec" : { "name" : "my-ecs-0001", "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" } } } ] }
-
重置节点池中节点(spec参数无效)
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/reset { "kind" : "List", "apiVersion" : "v3", "nodeList" : [ { "nodeID" : "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 |
表示在指定集群下重置节点的作业下发成功。 |
错误码
请参见错误码。