调用AttachInstances添加已有ECS实例到集群。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求语法

POST /clusters/ClusterId/attach HTTP/1.1 
Content-Type:application/json
{
  "instances" : [ "String" ],
  "key_pair" : "String",
  "password" : "String",
  "format_disk" : Boolean,
  "keep_instance_name" : Boolean,
  "is_edge_worker" : Boolean,
  "nodepool_id" : "String",
  "image_id" : "String",
  "cpu_policy" : "String",
  "user_data" : "String",
  "rds_instances" : [ "String" ],
  "runtime" : {
    "name" : "String",
    "version" : "String"
  },
  "tags" : [ {
    "key" : "String",
    "value" : "String"
  } ]
}

请求参数

表 1. 请求Path参数
参数名称 类型 是否必选 示例 说明
ClusterId String c106f377e16f34eb1808d6b9362c9****

集群ID。

表 2. 请求Body参数
参数名称 类型 是否必选 示例 说明
instances Array of String i-2zed0sswuau6o89b****

待添加的实例ID。

key_pair String secrity-key

待添加实例的密钥对名称,和login_password二选一。

说明 指定nodepool_id后,该参数不支持。
password String Hello1234

待添加实例的SSH登录密码,和key_pair二选一。密码规则为8~30个字符,且至少同时包含三项(大小写字母、数字和特殊符号),不支持反斜线(\)和半角双引号(")两个符号。

出于安全性考虑,密码传输过程中都是经过加密处理的。

format_disk Boolean false

是否将容器数据和镜像存储在数据盘中。取值:

  • true:将容器数据和镜像存储在数据盘。
  • false:不将容器数据和镜像存储在数据盘。

默认值:false

数据盘挂载规则:

  • 如果ECS已挂载数据盘,且最后一块数据盘的文件系统未初始化,系统会自动将该数据盘格式化为EXT4,用来存放内容/var/lib/docker、/var/lib/kubelet。
  • 如果ECS未挂载数据盘,则不会挂载新的数据盘。
    说明 当选择将数据存储至数据盘并且ECS已挂载数据盘,数据盘内原有数据将丢失,请注意备份数据。
keep_instance_name Boolean true

是否保留原实例名称。取值:

  • true:保留实例名称。
  • false:不保留实例名称。

默认值:true

is_edge_worker Boolean false

是否为边缘节点,即ENS节点。取值:

  • true:表示添加的节点是边缘节点。
  • false:表示添加的节点是不是边缘节点。

默认值:false

说明 如果是边缘节点,取值必须是true,用于标识该节点类型为ENS节点。
nodepool_id String np615c0e0966124216a0412e10afe0****

节点池ID。如果不指定,则将节点添加到默认节点池中。

image_id String aliyun_2_1903_x64_20G_alibase_20200529.vhd

自定义镜像ID,如果不传则使用默认系统镜像。

说明
  • 实例系统盘镜像将被替换为该镜像。
  • 指定nodepool_id后,该参数不支持。
cpu_policy String none

节点CPU管理策略。当集群版本在1.12.6及以上时支持以下两种策略:

  • static:允许为节点上具有某些资源特征Pod增强其CPU亲和性和独占性。
  • none:表示启用现有的默认CPU亲和性方案。

默认值:none

说明 指定nodepool_id后,该参数不支持。
user_data String IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi

节点自定义数据。更多详情,请参见生成实例自定义数据

说明 指定nodepool_id后,该参数不支持。
rds_instances Array of String rm-67yawhau****

RDS实例ID。

说明 指定nodepool_id后,该参数不支持。
runtime runtime

容器运行时。

说明 指定nodepool_id后,该参数不支持。
tags Array of tag

节点标签。标签定义规则:

  • 标签由区分大小写的键值对组成,您最多可以设置20个标签。
  • 标签键不可以重复,最长为64个字符;标签值可以为空,最长为128个字符。标签键和标签值都不能以aliyunacs:https://http://开头。详情请参见Labels and Selectors
    说明 指定nodepool_id后,该参数不支持。

响应体语法

HTTP/1.1 200
Content-Type:application/json
{
  "list" : [ {
    "code" : "String",
    "instanceId" : "String",
    "message" : "String"
  } ],
  "task_id" : "String"
}

响应参数

表 3. 响应Body参数
参数名称 类型 示例 说明
list Array of list

节点添加信息列表。

code String 200

节点添加结果状态码。

instanceId String i-2ze0lgm3y6iylcbt****

实例ID。

message String successful

节点添加结果描述信息。

task_id String T-5a544aff80282e39ea000039

任务ID。

添加已有实例到集群示例

请求示例

POST /clusters/c106f377e16f34eb1808d6b9362c9****/attach HTTP/1.1 
Content-Type:application/json
{
  "instances" : [ "i-2zed0sswuau6o89b****" ],
  "key_pair" : "secrity-key",
  "password" : "Hello1234",
  "format_disk" : false,
  "keep_instance_name" : true,
  "is_edge_worker" : false,
  "nodepool_id" : "np615c0e0966124216a0412e10afe0****",
  "image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
  "cpu_policy" : "none",
  "user_data" : "IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi",
  "rds_instances" : [ "rm-67yawhau****" ],
  "runtime" : {
    "name" : "docker",
    "version" : "19.03.5"
  },
  "tags" : [ {
    "key" : "env",
    "value" : "prod"
  } ]
}

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<list>
    <code>200</code>
    <instanceId>i-2ze0lgm3y6iylcbt****</instanceId>
    <message>successful</message>
</list>
<task_id>T-5a544aff80282e39ea000039</task_id>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "list" : [ {
    "code" : "200",
    "instanceId" : "i-2ze0lgm3y6iylcbt****",
    "message" : "successful"
  } ],
  "task_id" : "T-5a544aff80282e39ea000039"
}

错误码

访问错误中心查看更多错误码。