在指定集群下创建节点池。
{Creating, [Progressing]}
状态,直到创建执行成功。请调用 ListNodePools 接口获取该节点池当前的状态,查看节点池是否创建成功。调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateNodePool | 接口名称。当前 API 的名称为 CreateNodePool 。 |
Version | String | 是 | 2022-05-12 | 接口版本。当前 API 的版本为 2022-05-12 。 |
ClientToken | String | 否 | BC028527-33B9-4990-A633-84E9F9****** | 用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。 |
ClusterId | String | 是 | cc5silum**** | 节点池所在集群的 ID。 注意 集群必须处于 |
Name | String | 是 | test-nodepool | 节点池名称。
注意 不能使用默认节点池保留名: |
KubernetesConfig | Object of NodePoolKubernetesConfigRequest | 否 | - | 节点池 Kubernetes 相关配置。 |
NodeConfig | Object of NodePoolNodeConfigRequest | 是 | - | 节点池中云服务器(ECS)实例配置。 |
AutoScaling | Object of NodePoolAutoScalingRequest | 否 | - | 节点池伸缩策略配置。 |
Tags | Array of Tag | 否 | - | 自定义的资源标签,用于从不同维度对具有相同特征的节点池进行分类、搜索和聚合,能够灵活管理节点池。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Labels | Array of Label | 否 | - | 节点池/节点的 Kubernetes 标签(Labels)信息。最多可传入 20 个标签。 说明 节点池会统一管理节点的标签配置信息,因此标签信息会同步到节点池内的所有节点上。当标签发生变更时,会覆盖原有的标签配置信息。 |
Taints | Array of Taint | 否 | - | 节点池/节点的 Kubernetes 污点(Taints)信息。最多可传入 20 个污点。 说明 节点池会统一管理节点的污点配置信息,因此污点信息会同步到节点池内的所有节点上。当污点发生变更时,会覆盖原有的污点配置信息。 |
Cordon | Boolean | 否 | false | 封锁节点配置,取值:
说明 更新节点池(UpdateNodePoolConfig)时,若不传入参数值,则保持原有参数配置。 |
NamePrefix | String | 否 | name-prefix | Kubernetes 中节点对象的元数据名称前缀。默认不启用,若设置表示启用,并将影响 Kubernetes Node Manifest 文件中展示的
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Key | String | 是 | label-key | 标签键,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
Value | String | 否 | label-value | 标签值,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Effect | String | 否 | NoSchedule | 污点效果,取值:
|
Key | String | 是 | taint-key | 污点键,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
Value | String | 否 | taint-value | 污点值,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
InstanceTypeIds | Array of String | 是 | ["ecs.g1ie.large"] | 节点对应的 ECS 实例规格 ID 列表。 说明 当前仅支持传入一个数组元素。 |
SubnetIds | Array of String | 是 | ["subnet-3rf6vwb******"] | 节点网络所属的子网 ID 列表。 注意
|
ImageId | String | 否 | image-**** | 节点对应的 ECS 实例使用的镜像 ID。 注意 若不传该参数,容器服务将根据您所选的 ECS 实例规格,默认分配与该规格对应的 veLinux-VKE 镜像 ID。 |
SystemVolume | Object of SystemVolume | 否 | - | 节点的系统盘配置。 |
DataVolumes | Array of DataVolume | 否 | - | 节点的数据盘配置。 |
InitializeScript | String | 否 | ZWNobyAid****** | 创建并初始化节点后执行的自定义脚本。 |
Security | Object of NodeSecurityRequest | 是 | - | 节点安全配置。 |
AdditionalContainerStorageEnabled | Boolean | 否 | false | 配置节点的第一块数据盘并格式化挂载容器和镜像存储目录
注意
|
InstanceChargeType | String | 否 | PostPaid | ECS 实例计费类型,取值:
|
Period | Integer | 否 | 12 | ECS 实例购买时长。取值如下,单位为月: |
AutoRenew | Boolean | 否 | true | ECS 实例到期是否自动续费,取值范围:
|
AutoRenewPeriod | Integer | 否 | 1 | ECS 实例每次自动续费时长。取值如下,单位为月: |
NamePrefix | String | 否 | prefix-name | 节点名称前缀。取值为空字符串时表示不启用节点命名前缀,默认不启用。前缀校验规则如下:
|
Tags | Array of Tag | 否 | - | 节点对应 ECS 实例绑定的标签信息,用于搜索、管理 ECS 实例。
|
HpcClusterIds | Array of String | 否 | ["hpcCluster-1"] | 高性能计算集群 ID。 注意
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Type | String | 否 | ESSD_PL0 | 云盘类型:
注意 更新节点池时,该参数为必填参数,无默认值。 |
Size | Integer | 否 | 40 | 云盘容量,单位 GiB,取值说明:
注意 更新节点池时,该参数为必填参数,无默认值。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Type | String | 否 | ESSD_PL0 | 磁盘类型:
注意 更新节点池时,该参数为必填参数,无默认值。 |
Size | Integer | 否 | 20 | 磁盘容量,单位 GiB,数据云盘数值范围:
注意 更新节点池时,该参数为必填参数,无默认值。 |
MountPoint | String | 否 | /vke | 磁盘格式化后的目标挂载目录,取值要求如下:
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
SecurityGroupIds | Array of String | 否 | ["sg-2byy13cnsc******"] | 节点网络所在的安全组 ID 列表。 注意
|
SecurityStrategies | Array of String | 否 | ["Hids"] | 节点的安全策略,取值:
|
Login | Object of NodeLoginRequest | 是 | - | 节点的访问方式配置。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Password | String | 否 | UHdkMT****** | Root 用户登录密码,使用 Base64 编码格式。
|
SshKeyPairName | String | 否 | test-key | SSH 密钥对名称。请确保该密钥对已在云服务器中创建或托管。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Key | String | 是 | key | 标签键。
|
Value | String | 否 | value | 标签值,可以为空。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Enabled | Boolean | 否 | false | 配置节点池弹性伸缩功能开关,取值:
|
MaxReplicas | Integer | 否 | 10 | 配置节点池的最大节点数,取值说明:
注意 仅在节点池开启弹性伸缩功能后,对该节点池生效。 |
MinReplicas | Integer | 否 | 0 | 配置节点池的最小节点数,取值说明:
注意 仅在节点池开启弹性伸缩功能后,对该节点池生效。 |
DesiredReplicas | Integer | 否 | 0 | 配置节点池的期望节点数,取值说明:
注意 节点池开启弹性伸缩功能时,DesiredReplicas 需大于等于 MinReplicas 参数的值,小于等于 MaxReplicas 参数的值。 |
Priority | Integer | 否 | 10 | 优先级,取值说明:
注意 仅针对节点池开启弹性伸缩功能且扩容算法为 |
SubnetPolicy | String | 否 | ZoneBalance | 节点池的多子网调度策略,用于在 Worker 节点扩容时按照子网优先级顺序进行调度。取值:
|
POST https://open.volcengineapi.com/?Action=CreateNodePool&Version=2022-05-12 Content-Type: application/json POST /?Action=CreateNodePool&Version=2022-05-12 HTTP/1.1 Content-Type:application/json { "ClusterId": "cc5silumrsfeq****", "Name": "test-nodepool", "KubernetesConfig": { "Labels": [ { "Key": "label-key", "Value": "label-value" } ], "Taints": [ { "Key": "taint-key", "Value": "taint-value", "Effect": "NoSchedule" } ], "Cordon": false }, "NodeConfig": { "InstanceTypeIds": ["ecs.g1.xlarge"], "SubnetIds": ["subnet-3rf6vwbgkg****"], "SystemVolume": { "Size": 40, "Type": "ESSD_PL0" }, "DataVolumes": [ { "Size": 20, "Type": "ESSD_PL0" } ], "AdditionalContainerStorageEnabled": true, "InitializeScript": "ZWNobyAidG******", "Security": { "SecurityGroupIds": ["sg-2byy13cnsczy****"], "SecurityStrategies": ["Hids"], "Login": { "Password": "UHdkMTIz***" } }, "NamePrefix": "name-prefix", "Tags":[ { "Key":"key", "Value":"value" } ] }, "AutoScaling": { "Enabled": true, "DesiredReplicas": 0, "MinReplicas": 0, "MaxReplicas": 10, "Priority": 10, "SubnetPolicy": "ZoneBalance" }, "Tags":[ { "Key":"key", "Value":"value" } ], "ClientToken": "BC028527-33B9-4990-A633-84E9F9******", }
本接口返回参数如下表所示,公共返回参数请参见 返回结果。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Id | String | pc51i0m6**** | 节点池 ID。 |
{ "ResponseMetadata": { "RequestId": "20230604110420****", "Action": "CreateNodePool", "Version": "2022-05-12", "Service": "vke", "Region": "cn-beijing" }, "Result": { "Id": "pc51i0m6****" } }
本接口错误码如下表所示,公共错误码请参见 公共错误码。
HTTP 状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
409 | Conflict.Name | The specified name conflicts with existing {{resourceType}}. | 指定地域存在同名资源,请更新资源名称后重试。 |
400 | NotSupported.{{parameter}} | The specified {{resourceType}} {{resourceContent}} is not supported. | 指定参数不支持,如 InstanceType、ImageId 等。请确认参数后重试。 |
400 | QuotaExceeded.NodePool | The number of node pools in the cluster has reached the limit. | 您当前集群所要创建的节点池数量超出系统配额。您可以选择其他地域,也可以 提交工单 申请提高配额。 |
400 | LimitExceeded.MaximumVolumes | You have reached the limit of the number of volumes that you can create. | 云盘数量超过了单台 ECS 实例所能挂载的云盘数量。ECS 使用限制,请参见 约束限制。 |
400 | LimitExceeded.DataVolumeSize | You have reached the limit of the size of data volume that you can create. | 数据盘容量超过上限。ECS 使用限制,请参见 约束限制。 |
400 | LimitExceeded.SystemVolumeSize | You have reached the limit of the size of system volume that you can create. | 系统盘容量超过上限。ECS 使用限制,请参见 约束限制。 |
400 | ClusterVpcMismatch.{{parameter}} | The specified {{resourceType}} {{resourceId}} is not in the VPC of cluster. | 指定的子网、安全组、高性能计算集群与集群属于不同私有网络,请确保其与集群处于同一个私有网络内。 |
400 | Mismatch.Replicas | The specified DesiredReplicas, MinReplicas and MaxReplicas are mismatched. | 指定节点池的最小节点数、最大节点数、期望节点数逻辑不匹配。请确认参数后重试。 |
400 | OperationDenied.ClusterStatus | The action has been denied due to wrong cluster status {{statusPhase}} and [{{statusConditions}}]. | 指定集群的当前状态不支持该操作。请确认该接口依赖的集群状态后重试。 |
400 | QuotaExceeded.Node | The number of nodes in the cluster has reached the limit. | 您当前集群所要创建的节点数量超出系统限额。您可以选择其他地域,也可以 提交工单 申请提高配额。 |
400 | LimitExceeded.NodeInCluster | The number of nodes exceeds the cluster defined pods config limit. | Flannel 容器网络类型下,节点池设置的期望节点数超出了集群支持的最大节点数。容器服务各资源限制,请参见 使用限制。 |
400 | InstanceTypeMismatch.VolumeType | The specified VolumeType {{volumeType}} and InstanceType {{instanceType}} are mismatched. | 指定的实例规格和云盘规格不匹配。请调用云服务的 DescribeInstanceTypes 接口获取云服务器实例规格与云盘规格的匹配关系,然后更新参数并重试。 |
400 | ZoneMismatch.InstanceType | The specified InstanceType {{instanceType}} and subnet zones are mismatched. | 子网所在的可用区不支持该实例规格。请调用云服务的 DescribeAvailableResource 接口获取各可用区支持的实例规格情况,然后更新参数并重试。 |
400 | OutOfRange.DataVolumes | There is no data volume for additional container storage enabling. | 启用了配置节点的第一块数据盘作为容器镜像和日志的存储目录(即AdditionalContainerStorageEnabled=true ),但是 DataVolume 参数中并没有指定任何数据盘。请指定参数值后重试。 |
400 | ZoneMismatch.Subnet | The specified Subnet {{subnetId}} is not in the cluster defined zones. | 指定的子网所属的可用区不在集群支持的可用区内。请使用匹配集群可用区的子网。 |
400 | QuotaExceeded.{{ResourceType}} | The quota of {{ResourceType}} has reached the limit. | 指定资源的配额达到上限,如 EIP、ECS、Tag、ECS Tag、EBS 等。请提升相关资源配额,或删除无用资源,预留出配额后重试。 |
400 | ZoneMismatch.HpcCluster | The specified HpcCluster {{hpcClusterID}} and subnet zones are mismatched. | 指定的高性能计算集群可用区与节点子网可用区不匹配。请确保两者可用区一致后重试。 |
400 | ClusterVersionMismatch.ImageId | The specified ImageId {{ImageId}} and KubernetesVersion {{kubernetesVersion}} are mismatched. | 指定的镜像 ID(ImageId)与 集群 Kubernetes 版本不匹配。请根据参数说明,配置准确的参数值后重试。 |
400 | Insufficient.Balance | Your account has run out of balance. | 当前火山引擎账户余额不足。请充值账户后重试。 |
400 | InstanceTypeMismatch.ImageId | The specified ImageId {{imageId}} and InstanceType {{instanceType}} are mismatched. | 指定的镜像 ID(ImageId)与 ECS 实例规格(InstanceTypeIds)不匹配。请根据参数说明,配置准确的参数值后重试。 |
400 | InstanceChargeTypeMismatch.PublicAccessEnabled | The specified PublicAccessEnabled and InstanceChargeType {{instanceChargeType}} are mismatched. | 指定的节点公网访问开关和计费类型不匹配,包年包月节点池不支持开启节点公网访问。请根据参数说明,配置准确的参数值后重试。 |
400 | IpFamilyMismatch.{{parameter}} | The specified {{resourceType}} {{resourceContent}} and IpFamily {{ipFamily}} are mismatched. | 指定的资源和网络协议栈不匹配。请确认资源支持的网络协议栈后重试。 |
400 | LimitExceeded.LocalVolumes | You have reached the limit of the number of local volumes that you can use. | 本地盘数量超过限制。请根据参数说明,配置准确的参数值后重试。 |
400 | KubernetesVersionMismatch.{{parameter}} | The specified config and kubernetes version are mismatched. | 指定的配置项和 Kubernetes 版本不匹配。请确认配置项对应支持的 Kubernetes 版本后重试。 |
400 | ImageSizeMismatch.SystemVolumeSize | The specified system volume size and image size are mismatched. | 指定的系统盘大小和镜像大小不匹配,系统盘需要比镜像大 10 GiB 以上。 |