通用数据结构

addon

集群组件配置。

参数名称

类型

示例值

描述

name

String

nginx-ingress-controller

组件名称。

config

String

{\"IngressSlbNetworkType\":\"internet\"}

组件配置。

disabled

Boolean

false

是否禁止默认安装,集群创建时除了安装必需组件外,还会额外安装一些日志组件等,您可以禁止这些默认行为,后续通过安装组件的API进行安装或者通过控制台安装。取值:

  • true:禁止默认安装。
  • false:允许默认安装。

data_disk

节点数据盘配置。

参数名称

类型

示例值

描述

category

String

cloud_ssd

数据盘类型。取值:

  • cloud:普通云盘。
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • cloud_essd:ESSD云盘。
  • cloud_auto:ESSD AutoPL云盘。

默认值:cloud_efficiency

size

Long

40

数据盘大小,单位为GiB。

取值范围:[40,32768]。

默认值:120

encrypted

String

true

是否对数据盘加密。取值:

  • true:对数据盘加密。
  • false:不对数据盘加密。

默认值:false

auto_snapshot_policy_id

String

sp-2zej1nogjvovnz4z****

选择自动快照策略ID,云盘会按照快照策略自动备份。

默认值:空,不自动备份。

performance_level

String

PL1

节点数据盘磁盘性能等级,仅对ESSD磁盘生效。磁盘性能等级和磁盘大小有关。更多信息,请参见ESSD云盘

provisioned_iops

Long

1000

数据盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50000}。

DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL云盘

bursting_enabled

Boolean

true

数据盘是否开启Burst(性能突发)。 取值:

  • true:是。
  • false:否。

DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL云盘

maintenance_window

集群维护窗口。

参数名称

类型

示例值

描述

enable

Boolean

false

是否开启维护窗口。取值:

  • true:开启维护窗口。
  • false:不开启维护窗口。

默认值:false

maintenance_time

String

03:00:00Z

维护起始时间。Golang标准时间格式,例如15:04:05Z。

duration

String

3h

维护时长。取值范围[1,24],单位为小时。

默认值:3h。

weekly_period

String

Monday,Thursday

维护周期,多个值用英文逗号(,)分隔。取值:{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}

默认值:Thursday

nodepool

节点池。

参数名称

类型

示例值

描述

auto_scaling

Object

自动伸缩节点池配置。

enable

Boolean

true

是否启用自动伸缩。

  • true:开启节点池自动伸缩功能。
  • false:不开启自动伸缩,当取值为false时,auto_scaling内的其他配置参数将不生效。

默认值:false

max_instances

Long

10

自动伸缩组最大实例数。

min_instances

Long

0

自动伸缩组最小实例数。

type

String

cpu

自动伸缩类型,按照自动伸缩实例类型划分。取值:

  • cpu:普通实例型。
  • gpu:GPU实例型。
  • gpushare:GPU共享型。
  • spot:抢占式实例型。

默认值:cpu

is_bond_eip

Boolean

true

【该字段已废弃】

是否绑定EIP,取值:

  • true:绑定EIP。
  • false:不绑定EIP。

默认值:false

eip_internet_charge_type

String

PayByBandwidth

【该字段已废弃】

EIP计费类型,取值:

  • PayByBandwidth:按固定带宽计费。
  • PayByTraffic:按使用流量计费。

默认值:PayByBandwidth。

eip_bandwidth

Long

5

【该字段已废弃】

EIP带宽峰值。单位:Mbps。

kubernetes_config

Object

集群相关配置。

cms_enabled

Boolean

true

是否在ECS节点上安装云监控,安装后可以在云监控控制台查看所创建ECS实例的监控信息,推荐开启。取值:

  • true:在ECS节点上安装云监控。
  • false:不在ECS节点上安装云监控。

默认值:false

cpu_policy

String

none

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

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

默认值:none

labels

Array of tag

节点标签,为Kubernetes集群节点添加标签。

runtime

String

containerd

容器运行时。取值:

  • containerd:推荐使用,支持所有集群版本。
  • Sandboxed-Container.runv:安全沙箱容器,提供更高的隔离性,支持1.24版本及以下集群。
  • docker:支持1.22版本及以下集群。

默认值:containerd

runtime_version

String

1.6.20

容器运行时版本。

taints

Array of taint

污点配置。

user_data

String

MXM=

节点自定义数据。

node_name_mode

String

customized,aliyun,ip,com

节点名称由三部分组成:前缀 + 节点 IP + 后缀:

  • 前缀和后缀均可由“.”分隔的一个或多个部分构成,每个部分可以使用小写字母、数字和“-”,节点名称首尾必须为小写字母和数字;
  • 节点 IP为完整的节点私网 IP 地址;

传参包含四个部分,由逗号分隔,例如:参数传入"customized,aliyun,ip,com"字符串(其中“customized”和"ip"为固定的字符串,aliyun为前缀,com为后缀),则节点的名称为:aliyun.192.168.xxx.xxx.com。

nodepool_info

Object

节点池配置。

name

String

np-test

节点池名称。

resource_group_id

String

rg-acfmyvw3wjm****

节点池所在资源ID。

type

String

ess

节点池类型,取值范围:

  • ess:节点池。
  • edge:边缘节点池。

scaling_group

Object

节点池扩容组配置。

auto_renew

Boolean

false

节点池是否开启自动续费,当instance_charge_type取值为PrePaid时才生效,取值:

  • true:自动续费。
  • false:不自动续费。

默认值:true

auto_renew_period

Long

0

节点池自动续费周期。当instance_charge_type取值为PrePaid时才生效,且为必选值。

PeriodUnit=Month时,取值范围:{1, 2, 3, 6, 12}。

默认值:1。

data_disks

Array of data_disk

节点池节点数据盘配置。

image_id

String

aliyun_2_1903_x64_20G_alibase_20200904.vhd

自定义镜像ID,默认使用系统提供的镜像。

instance_charge_type

String

PostPaid

节点池节点付费类型,取值:

  • PrePaid:预付费。
  • PostPaid:按量付费。

默认值:PostPaid

instance_types

Array of String

ecs.n1.medium

实例规格。

key_pair

String

np-key

密钥对名称,和login_password二选一。

说明

如果创建托管节点池,则只支持key_pair

login_password

String

Hello1234

SSH登录密码,和key_pair二选一。密码规则为8~30个字符,且至少同时包含三项(大小写字母、数字和特殊符号)。

period

Long

0

节点池节点包年包月时长,当instance_charge_type取值为PrePaid时才生效且为必选值,取值范围:period_unit取值为Month时,period取值范围:{ 1, 2, 3, 6, 12}。

默认值:1。

period_unit

String

Month

节点池节点付费周期,当instance_charge_type取值为PrePaid时需要指定周期。

Month:目前只支持以月为单位。

platform

String

AliyunLinux

操作系统发行版。取值:

  • CentOS
  • AliyunLinux
  • Windows
  • WindowsCore

默认值:AliyunLinux

rds_instances

Array of String

rm-2zey3t89t6280****

RDS实例ID。

spot_strategy

String

NoSpot

抢占式实例类型,取值:

  • NoSpot:非抢占式实例。
  • SpotWithPriceLimit:设置抢占实例价格上限。
  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。

更多信息,请参见抢占式实例

spot_price_limit

Array

当前单台抢占式实例规格市场价格区间配置。

instance_type

String

ecs.c6.large

抢占式实例规格。

price_limit

String

0.39

单台实例上限价格。

scaling_policy

String

release

伸缩组模式,取值:

  • release:标准模式,根据申请资源值的使用量,通过创建、释放ECS的方式进行伸缩。
  • recycle:极速模式,通过创建、停机、启动的方式进行伸缩,提高再次伸缩的速度(停机时计算资源不收费,只收取存储费用,本地盘机型除外)。

默认值:release

security_group_id

String

sg-2zeihch86ooz9io4****

节点池安全组ID,与security_group_ids二选一,推荐使用security_group_ids

security_group_ids

Array of String

sg-2zeihch86ooz9io4****

安全组ID。

system_disk_category

String

cloud_efficiency

节点系统盘类型,取值:

  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • cloud_essd:ESSD云盘。
  • cloud_auto:ESSD AutoPL云盘。

默认值:cloud_efficiency

system_disk_size

Long

120

节点系统盘大小,单位:GiB。

取值范围:[40,500]。

system_disk_performance_level

String

PL1

节点系统盘磁盘性能,只对ESSD磁盘生效。

  • PL0:并发极限I/O性能中等,读写时延较为稳定。
  • PL1:并发极限I/O性能中等,读写时延较为稳定。
  • PL2:并发极限I/O性能较高,读写时延稳定。
  • PL3:并发极限I/O性能极高,读写时延极稳定。

system_disk_provisioned_iops

Long

1000

节点系统盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50000}。

SystemDiskCategorycloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL云盘

system_disk_bursting_enabled

Boolean

true

节点系统盘是否开启Burst(性能突发)。 取值:

  • true:是。
  • false:否。

SystemDiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL云盘

tags

Array

仅为ECS实例添加标签。

标签键不可以重复,最大长度为128个字符;标签键和标签值都不能以“aliyun”、“acs:”开头,或包含“https://”、“http://”。

key

String

key

标签的名称。

value

String

value

标签值。

vswitch_ids

Array of String

vsw-2ze0fmpbwo140ahni****

虚拟交换机ID。

multi_az_policy

String

COST_OPTIMIZED

多可用区伸缩组ECS实例扩缩容策略。取值:

  • PRIORITY:根据您定义的虚拟交换机(VSwitchIds.N)扩缩容。当优先级较高的虚拟交换机所在可用区无法创建ECS实例时,自动使用下一优先级的虚拟交换机创建ECS实例。

  • COST_OPTIMIZED:按vCPU单价从低到高进行尝试创建。当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式实例。您可以继续通过CompensateWithOnDemand参数指定当抢占式实例由于库存等原因无法创建时,是否自动尝试以按量付费的方式创建。

    说明

    COST_OPTIMIZED仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。

  • BALANCE:在伸缩组指定的多可用区之间均匀分配ECS实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过API RebalanceInstances平衡资源。更多信息,请参见RebalanceInstances

默认值:PRIORITY

on_demand_base_capacity

Long

0

伸缩组所需要按量实例个数的最小值,取值范围:[0,1000]。当按量实例个数少于该值时,将优先创建按量实例。

on_demand_percentage_above_base_capacity

Long

20

伸缩组满足最小按量实例数(on_demand_base_capacity)要求后,超出的实例中按量实例应占的比例。取值范围:[0,100]。

spot_instance_pools

Long

5

指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:[1,10]。

spot_instance_remedy

Boolean

false

是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。取值:

  • true:开启补齐抢占式实例。
  • false:不开启补齐抢占式实例。

compensate_with_on_demand

Boolean

true

multi_az_policy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足ECS实例数量要求。取值:

  • true:允许自动尝试创建按量实例满足ECS实例数量要求。
  • false:不允许自动尝试创建按量实例满足ECS实例数量要求。

internet_charge_type

String

PayByBandwidth

公网IP收费类型。取值:

  • PayByBandwidth:按固定带宽计费。
  • PayByTraffic:按使用流量计费。

internet_max_bandwidth_out

Long

10

节点公网IP出带宽最大值,单位为Mbps(Mega bit per second),取值范围:[1,100]

image_type

String

AliyunLinux

操作系统镜像类型,和platform参数二选一,取值范围:

  • AliyunLinux:Alinux2镜像。
  • AliyunLinux3:Alinux3镜像。
  • AliyunLinux3Arm64:Alinux3镜像ARM版。
  • AliyunLinuxUEFI:Alinux2镜像UEFI版。
  • CentOS:CentOS镜像。
  • Windows:Windows镜像。
  • WindowsCore:WindowsCore镜像。
  • ContainerOS:容器优化镜像。

deploymentset_id

String

ds-bp1d19mmbsv3jf6xxxxx

部署集ID。

desired_size

Long

2

节点池期望节点数量。

private_pool_options

Object

私有节点池配置。

id

String

eap-bp67acfmxazb4****

私有节点池ID。

match_criteria

String

Open

私有节点池类型,实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值:

  • Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。

  • Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。

  • None:不使用模式。实例启动将不使用私有池容量。

tee_config

Object

加密计算节点池配置。

tee_enable

Boolean

false

是否为加密计算节点池。

management

Object

托管节点池配置。

enable

Boolean

false

是否开启托管版节点池,取值:

  • true:开启托管节点池。
  • false:不开启托管节点池,只有当enable=true时,其他相关配置才生效。

auto_repair

Boolean

false

自动修复,仅当enable=true时生效。

  • true:自动修复。
  • false:不自动修复。

upgrade_config

Object

自动升级配置,仅当enable=true时生效。

auto_upgrade

Boolean

false

是否启用自动升级,取值:

  • true:启用自动升级。
  • false:不启用自动升级。

surge

Long

0

额外节点数量。

surge_percentage

Long

0

额外节点比例,和surge二选一。

max_unavailable

Long

0

最大不可用节点数量,取值范围:[1,1000]。

默认值:1。

count

Long

1

【该字段已废弃,请使用desired_size代替】

节点池节点数量。

interconnect_mode

String

basic

边缘节点池的网络类型,该值只对typeedge类型的节点池有意义,取值范围:

  • basic:基础型。
  • improved:增强型。
  • private: 专用型。1.22及以上版本支持。

interconnect_config

Object

【该字段已废弃】

边缘节点池配置。

cen_id

String

cen-ey9k9nfhz0f*******

【该字段已废弃】

边缘增强型节点池绑定的云企业网实例ID(CENID)。

ccn_id

String

ccn-qm5i0i0q9yi*******

【该字段已废弃】

边缘增强型节点池绑定的云连接网实例ID(CCNID)。

ccn_region_id

String

cn-shanghai

【该字段已废弃】

边缘增强型节点池绑定的云连接网实例所属的地域。

bandwidth

Long

10

【该字段已废弃】

边缘增强型节点池的网络带宽,单位:Mbps。

improved_period

String

1

【该字段已废弃】

边缘增强型节点池的购买时长,单位:月。

max_nodes

Long

10

边缘节点池允许容纳的最大节点数量,该参数大于等于0。0表示无额外限制(仅受限于集群整体可以容纳的节点数,节点池本身无额外限制)。边缘节点池该参数值往往大于0;ess类型节点池和默认的edge类型节点池该参数值为0。

runtime

容器引擎。

参数名称

类型

示例值

描述

name

String

containerd

容器运行时名称,ACK支持以下三种容器运行时。

  • containerd:推荐使用,支持所有集群版本。
  • Sandboxed-Container.runv:安全沙箱容器,提供更高的隔离性,支持1.24版本及以下集群。
  • docker:支持1.22版本及以下集群。

默认值:containerd

version

String

1.6.20

容器运行时版本,默认为最新版。

关于安全沙箱运行时的变更详情,请参见安全沙箱运行时变更记录

tag

标签配置。

参数名称

类型

示例值

描述

key

String

env

标签key值。

value

String

prod

标签value值。

taint

节点污点配置。

参数名称

类型

示例值

描述

key

String

key

污点key值。

value

String

value

污点value值。

effect

String

NoSchedule

调度策略。取值:

  • NoSchedule:不能容忍,但仅影响调度过程,已被调度的Pod不受影响,仅对新增加的Pod生效。

  • NoExecute:不能容忍,当污点变动时,Pod对象会被驱逐。

  • PreferNoSchedule:柔性约束,节点现存Pod不受影响。尽量不去满足不合要求的Pod调度到节点上。

默认策略:NoSchedule