调用CreateClusterNodePool为集群创建节点池。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求语法
POST /clusters/ClusterId/nodepools HTTP/1.1
Content-Type:application/json
{
"auto_scaling" : {
"enable" : Boolean,
"max_instances" : Long,
"min_instances" : Long,
"type" : "String",
"is_bond_eip" : Boolean,
"eip_internet_charge_type" : "String",
"eip_bandwidth" : Long
},
"kubernetes_config" : {
"cms_enabled" : Boolean,
"cpu_policy" : "String",
"labels" : [ {
"key" : "String",
"value" : "String"
} ],
"runtime" : "String",
"runtime_version" : "String",
"taints" : [ {
"key" : "String",
"value" : "String",
"effect" : "String"
} ],
"user_data" : "String"
},
"nodepool_info" : {
"name" : "String",
"resource_group_id" : "String"
},
"scaling_group" : {
"auto_renew" : Boolean,
"auto_renew_period" : Long,
"data_disks" : [ {
"category" : "String",
"size" : Long,
"encrypted" : "String",
"auto_snapshot_policy_id" : "String"
} ],
"image_id" : "String",
"instance_charge_type" : "String",
"instance_types" : [ "String" ],
"key_pair" : "String",
"login_password" : "String",
"period" : Long,
"period_unit" : "String",
"platform" : "String",
"rds_instances" : [ "String" ],
"spot_strategy" : "String",
"spot_price_limit" : [ {
"instance_type" : "String",
"price_limit" : "String"
} ],
"scaling_policy" : "String",
"security_group_id" : "String",
"system_disk_category" : "String",
"system_disk_size" : Long,
"tags" : [ {
"key" : "String",
"value" : "String"
} ],
"vswitch_ids" : [ "String" ],
"multi_az_policy" : "String",
"on_demand_base_capacity" : Long,
"on_demand_percentage_above_base_capacity" : Long,
"spot_instance_pools" : Long,
"spot_instance_remedy" : Boolean,
"compensate_with_on_demand" : Boolean
},
"tee_config" : {
"tee_enable" : Boolean
},
"management" : {
"enable" : Boolean,
"auto_repair" : Boolean,
"upgrade_config" : {
"auto_upgrade" : Boolean,
"surge" : Long,
"surge_percentage" : Long,
"max_unavailable" : Long
}
},
"count" : Long
}
请求参数
参数名称 | 类型 | 是否必选 | 示例 | 说明 |
---|---|---|---|---|
ClusterId | String | 是 | c61da77e8bfbc4c4c999af2b51b65**** |
集群ID。 |
参数名称 | 类型 | 是否必选 | 示例 | 说明 |
---|---|---|---|---|
auto_scaling | Object | 否 |
自动伸缩配置。 |
|
enable | Boolean | 是 | true |
是否启用自动伸缩。取值:
默认值: |
max_instances | Long | 是 | 10 |
自动伸缩组最大实例数。 |
min_instances | Long | 是 | 1 |
自动伸缩组最小实例数。 |
type | String | 否 | cpu |
自动伸缩类型,按照自动伸缩实例类型划分。取值:
默认值: |
is_bond_eip | Boolean | 否 | true |
是否绑定EIP。取值:
默认值: |
eip_internet_charge_type | String | 否 | PayByBandwidth |
EIP计费类型。取值:
默认值: |
eip_bandwidth | Long | 否 | 5 |
EIP带宽峰值。 |
kubernetes_config | Object | 否 |
集群相关配置。 |
|
cms_enabled | Boolean | 否 | true |
是否在ECS节点上安装云监控,安装后可以在云监控控制台查看所创建ECS实例的监控信息,推荐开启。取值:
默认值: |
cpu_policy | String | 否 | none |
节点CPU管理策略。当集群版本在1.12.6及以上时支持以下两种策略:
默认值: |
labels | Array of tag | 否 |
节点标签,为Kubernetes集群节点添加标签。 |
|
runtime | String | 是 | docker |
容器运行时。 |
runtime_version | String | 是 | 19.03.5 |
容器运行时版本。 |
taints | Array of taint | 否 |
污点配置。 |
|
user_data | String | 否 | dGhpcyBpcyBhIGV4YW1wbGU= |
节点自定义数据。 |
nodepool_info | Object | 否 |
节点池配置。 |
|
name | String | 是 | cluster-demo |
节点池名称。 |
resource_group_id | String | 否 | rg-acfmyvw3wjmb**** |
节点池所在资源ID。 |
scaling_group | Object | 否 |
节点池扩容组配置。 |
|
auto_renew | Boolean | 否 | true |
节点池节点是否开启自动续费,当
默认值: |
auto_renew_period | Long | 否 | 1 |
节点池节点自动续费周期,当选择预付费和自动续费时才生效,且为必选值。当 默认值:1 |
data_disks | Array of data_disk | 否 |
节点池节点数据盘配置。 |
|
image_id | String | 否 | aliyun_2_1903_x64_20G_alibase_20200529.vhd |
自定义镜像ID,默认使用系统提供的镜像。 |
instance_charge_type | String | 是 | PrePaid |
节点池节点付费类型,取值:
默认值: |
instance_types | Array of String | 是 | ecs.d1ne.2xlarge |
实例规格。 |
key_pair | String | 否 | np-key-name |
免密登录密钥对名称,和 说明 注意:如果创建托管节点池,则只支持
key_pair 。
|
login_password | String | 否 | Hello1234 |
SSH登录密码,和 |
period | Long | 否 | 1 |
节点池节点包年包月时长,当instance_charge_type取值为 PrePaid 时才生效且为必选值,取值范围: PeriodUnit=Month时, Period 取值:{ 1, 2, 3,6,12}。
默认值:1。
|
period_unit | String | 否 | Month |
节点池节点付费周期,当指定为 |
platform | String | 是 | Linux |
操作系统发行版。取值:
默认值: |
rds_instances | Array of String | 否 | rds-**** |
RDS实例ID。 |
spot_strategy | String | 否 | NoSpot |
抢占式实例类型。取值:
更多信息,请参见抢占式实例。 |
spot_price_limit | Array | 否 |
当前单台抢占式实例规格市场价格区间配置。 |
|
instance_type | String | 否 | ecs.c6.large |
抢占式实例规格。 |
price_limit | String | 否 | 0.39 |
单台实例上限价格。单位:元/小时。 |
scaling_policy | String | 否 | release |
伸缩组模式,取值:
默认值: |
security_group_id | String | 是 | sg-wz9a8g2mt6x5llu0**** |
安全组ID。 |
system_disk_category | String | 是 | cloud_efficiency |
节点系统盘类型,取值:
默认值: |
system_disk_size | Long | 是 | 120 |
节点系统盘大小,单位为GiB。 取值范围:[40,500]。 |
tags | Array | 否 |
仅为ECS实例添加标签。 标签键不可以重复,最大长度为128个字符;标签键和标签值都不能以“aliyun”、“acs:”开头,或包含“https://”、“http://”。 |
|
key | String | 否 | node-k-1 |
标签的名称。 |
value | String | 否 | node-v-1 |
标签值。 |
vswitch_ids | Array of String | 是 | vsw-wz9mfnhmssud6eicu**** |
虚拟交换机ID。 |
multi_az_policy | String | 否 | COST_OPTIMIZED |
多可用区伸缩组ECS实例扩缩容策略。取值:
默认值: |
on_demand_base_capacity | Long | 否 | 0 |
伸缩组所需要按量实例个数的最小值,取值范围:[0,1000]。当按量实例个数少于该值时,将优先创建按量实例。 |
on_demand_percentage_above_base_capacity | Long | 否 | 20 |
伸缩组满足最小按量实例数( |
spot_instance_pools | Long | 否 | 5 |
指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:[1,10]。 |
spot_instance_remedy | Boolean | 否 | false |
是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。取值:
|
compensate_with_on_demand | Boolean | 否 | true |
当
|
tee_config | Object | 否 |
加密计算集群配置。 |
|
tee_enable | Boolean | 是 | true |
是否开启加密计算集群。 |
management | Object | 否 |
托管节点池配置。 |
|
enable | Boolean | 是 | false |
是否开启托管版节点池,取值:
|
auto_repair | Boolean | 否 | false |
自动修复,仅当
|
upgrade_config | Object | 否 |
自动升级配置,仅当 |
|
auto_upgrade | Boolean | 否 | false |
是否启用自动升级,取值:
|
surge | Long | 否 | 0 |
额外节点数量。 |
surge_percentage | Long | 否 | 0 |
额外节点比例, 和 |
max_unavailable | Long | 是 | 0 |
最大不可用节点数量。 取值范围:[1,1000] 默认值:1。 |
count | Long | 否 | 1 |
节点池节点数量。 |
响应体语法
HTTP/1.1 200
Content-Type:application/json
{
"nodepool_id" : "String"
}
响应参数
参数名称 | 类型 | 示例 | 说明 |
---|---|---|---|
nodepool_id | String | np31da1b38983f4511b490fc62108a**** |
节点池ID。 |
创建节点池示例
请求示例
POST /clusters/c61da77e8bfbc4c4c999af2b51b65****/nodepools HTTP/1.1
Content-Type:application/json
{
"auto_scaling" : {
"enable" : true,
"max_instances" : 10,
"min_instances" : 1,
"type" : "cpu",
"is_bond_eip" : true,
"eip_internet_charge_type" : "PayByBandwidth",
"eip_bandwidth" : 5
},
"kubernetes_config" : {
"cms_enabled" : true,
"cpu_policy" : "none",
"labels" : [ {
"key" : "env",
"value" : "prod"
} ],
"runtime" : "docker",
"runtime_version" : "19.03.5",
"taints" : [ {
"key" : "key",
"value" : "value",
"effect" : "NoSchedule"
} ],
"user_data" : "dGhpcyBpcyBhIGV4YW1wbGU="
},
"nodepool_info" : {
"name" : "cluster-demo",
"resource_group_id" : "rg-acfmyvw3wjmb****"
},
"scaling_group" : {
"auto_renew" : true,
"auto_renew_period" : 1,
"data_disks" : [ {
"category" : "cloud_ssd",
"size" : 40,
"encrypted" : "true",
"auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****"
} ],
"image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"instance_charge_type" : "PrePaid",
"instance_types" : [ "ecs.d1ne.2xlarge" ],
"key_pair" : "np-key-name",
"login_password" : "Hello1234",
"period" : 1,
"period_unit" : "Month",
"platform" : "Linux",
"rds_instances" : [ "rds-***" ],
"spot_strategy" : "NoSpot",
"spot_price_limit" : [ {
"instance_type" : "ecs.c6.large",
"price_limit" : "0.39"
} ],
"scaling_policy" : "release",
"security_group_id" : "sg-wz9a8g2mt6x5llu0****",
"system_disk_category" : "cloud_efficiency",
"system_disk_size" : 120,
"tags" : [ {
"key" : "node-k-1",
"value" : "node-v-1"
} ],
"vswitch_ids" : [ "vsw-wz9mfnhmssud6eicu****" ],
"multi_az_policy" : "COST_OPTIMIZED",
"on_demand_base_capacity" : 0,
"on_demand_percentage_above_base_capacity" : 20,
"spot_instance_pools" : 5,
"spot_instance_remedy" : false,
"compensate_with_on_demand" : true
},
"tee_config" : {
"tee_enable" : true
},
"management" : {
"enable" : false,
"auto_repair" : false,
"upgrade_config" : {
"auto_upgrade" : false,
"surge" : 0,
"surge_percentage" : 0,
"max_unavailable" : 0
}
},
"count" : 1
}
请求示例补充说明
自动伸缩示例:
{
"ClusterId":"c61da77e8bfbc4c4c999af2b51b65****",
"nodepool_info":{
"name":"autoScale-demo",
"resource_group_id":"rg-acfmyvw3wjm****"
},
"scaling_group":{
"vswitch_ids":[
"vsw-wz9mfnhmssud6eic****"
],
"system_disk_category":"cloud_efficiency",
"system_disk_size":120,
"data_disks":[
],
"instance_types":[
"ecs.t6-c1m2.large"
],
"vpc_id":"vpc-wz984yvbd6lck22z3****",
"tags":[
],
"instance_charge_type":"PostPaid",
"login_password":"****",
"platform":"AliyunLinux",
"image_id":"aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"rds_instances":[
],
"scaling_policy":"release"
},
"kubernetes_config":{
"cpu_policy":"none",
"cms_enabled":false,
"labels":[
{
"key":"workload_type",
"value":"cpu"
}
],
"taints":[
],
"user_data":"",
"runtime":"docker",
"runtime_version":"19.03.5"
},
"tee_config":{
"tee_enable":true
},
"auto_scaling":{
"enable":true,
"max_instances":10,
"min_instances":1,
"type":"cpu"
}
}
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<nodepool_id>np31da1b38983f4511b490fc62108a****</nodepool_id>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"nodepool_id" : "np31da1b38983f4511b490fc62108a****"
}
错误码
访问错误中心查看更多错误码。
开发者资源
-
SDK
阿里云为您提供多种语言的SDK,帮助您快速通过API集成阿里云的产品和服务,推荐您使用SDK调用API,已免除您手动签名验证。
-
OpenAPI Explorer
快速检索,可视化调试API,在线命令行工具,同步动态生成可执行的SDK代码示例。
-
阿里云CLI
阿里云资产管理和配置工具,可通过命令方式同时管理多个阿里云产品和服务,简单快捷,是您上云好帮手。
在文档使用中是否遇到以下问题
更多建议
匿名提交