最近更新时间:2023.10.23 12:01:36
首次发布时间:2022.06.27 21:21:37
在指定集群下创建节点池。
{Creating, [Progressing]}
状态,直到创建执行成功。请调用 ListNodePools 接口获取该节点池当前的状态,查看节点池是否创建成功。调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数。
参数名称 | 类型 | 是否必选 | 示例值 | 说明 |
---|---|---|---|---|
Action | String | 是 | CreateNodePool | 公共参数,本接口值:CreateNodePool。 |
Version | String | 是 | 2022-05-12 | 公共参数,本接口值:2022-05-12。 |
ClientToken | String | 否 | BC028527-33B9-4990-A633-84E9F9****** | 用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。 |
ClusterId | String | 是 | cc5silumrsfeq**** | 节点池所在集群的 ID。 注意 集群必须处于 |
Name | String | 是 | test-nodepool | 节点池名称。
注意 不能使用默认节点池保留名: |
KubernetesConfig | Object KubernetesConfigRequest | 否 | 节点池 Kubernetes 相关配置。 | |
NodeConfig | Object NodePoolNodeConfigRequest | 是 | 节点池中云服务器(ECS)实例配置。 | |
AutoScaling | Object NodePoolAutoScaling | 否 | 节点池伸缩策略配置。 | |
Tags | Array of Tag | 否 | 自定义的资源标签,用于从不同维度对具有相同特征的节点池进行分类、搜索和聚合,能够灵活管理节点池。
|
参数名 | 参数类型 | 是否必选 | 示例值 | 说明 |
---|---|---|---|---|
InstanceTypeIds | Array of String | 是 | ["ecs.g1.large"] | 节点对应的 ECS 实例规格 ID 列表。 调用 ListSupportedResourceTypes 接口查询集群实例所支持的资源类型和范围。 说明 当前仅支持传入一个数组元素。 |
SubnetIds | Array of String | 是 | ["subnet-3rf6vwbgkg****"] | 节点网络所属的子网 ID 列表。 可以调用 私有网络 API 获取子网 ID。 注意
|
ImageId | String | 否 | image-kdvapv**** | 节点对应的 ECS 实例使用的镜像 ID。 注意 若不传该参数,容器服务将根据您所选的 ECS 实例规格,默认分配与该规格对应的 veLinux-VKE 镜像 ID。 |
SystemVolume | Object SystemVolume | 否 | 节点的系统盘配置。 调用 ECS 的 DescribeInstanceTypes 接口获取 ECS 实例规格族与云盘规格的匹配关系。 | |
DataVolumes | Array of DataVolume | 否 | 节点的数据盘配置。 调用云服务的 DescribeInstanceTypes 接口获取 ECS 实例规格族与云盘规格的匹配关系。 | |
InitializeScript | String | 否 | ZWNobyAidG****** | 创建并初始化节点后执行的自定义脚本。 支持 Shell 格式,Base64 编码后长度不超过 1 KB。 |
Security | Object NodeSecurityRequest | 是 | 节点安全配置。 | |
AdditionalContainerStorageEnabled | Boolean | 否 | false | 配置节点的第一块数据盘并格式化挂载容器和镜像存储目录
注意
|
InstanceChargeType | String | 否 | PostPaid | ECS 实例计费类型,取值:
注意
|
Period | Integer | 否 | 12 | ECS 实例购买时长。取值如下,单位为月: |
AutoRenew | Boolean | 否 | true | ECS 实例到期是否自动续费,取值范围:
|
AutoRenewPeriod | Integer | 否 | 1 | ECS 实例每次自动续费时长。取值如下,单位为月: |
NamePrefix | String | 否 | name-prefix | 节点名称前缀。取值为空字符串时表示不启用节点命名前缀,默认不启用。前缀校验规则如下:
|
Tags | Array of Tag | 否 | 节点对应 ECS 实例绑定的标签信息,用于搜索、管理 ECS 实例。
| |
HpcClusterIds | Array of String | 否 | ["hpcCluster-yc2jlqcg7kb5oy******"] | 高性能计算集群 ID。 注意
|
参数名 | 参数类型 | 是否必选 | 示例值 | 说明 |
---|---|---|---|---|
SecurityGroupIds | Array of String | 否 | ["sg-2byy13cnsczy****"] | 节点网络所在的安全组 ID 列表。 调用私有网络的 DescribeSecurityGroups 接口,获取安全组 ID。 注意
|
SecurityStrategies | Array of String | 否 | ["Hids"] | 节点的安全策略,取值:
|
Login | Object NodeLogin | 是 | 节点的访问方式配置。 支持密码方式或密钥对方式。同时传入时,优先使用密钥对。 |
容器服务提供如下两种镜像。不同的镜像类型对应的镜像 ID 也不同。
公共镜像:火山引擎提供的 veLinux 公共镜像。容器服务提供 veLinux-VKE、veLinux-CentOS 兼容版-VKE 两种公共镜像。两种镜像对应的 ImageId(镜像 ID)如下表所示。
注意
veLinux-VKE
节点对应 ECS 规格 | 华北2(北京) cn-beijing | 华南1(广州) cn-guangzhou | 华东2(上海) cn-shanghai |
---|---|---|---|
X86计算:所有规格(含三代规格) | image-ybqi99s7yq8rx7mnk44b | image-ybqd474ge1ftrj6h7ok7 | image-ybps9zgztxb1wztomg99 |
X86计算:仅三代规格 g3i、c3i、r3i、g3a、c3a | image-ycail7bf23gqeeusystc | image-yca0myo9fdea3cbh1y6d | image-yca8gonfuwhu0ro9qseu |
GPU计算型 | image-38df7zgbm4f6kjew2l22 | image-aa7rns5opf81q7sgq92z | image-ybm3s0f9zw5id84d13h1 |
高性能计算GPU型:hpcpni2、hpcg1ve | image-ebgyezjjxndvetq13t0h | 无 | image-ybmasrxewp5id87x1h0f |
高性能计算GPU型:ebmhpcpni2l | image-ycfak9ym0fgqefhu23kc | 无 | image-ycf2tffg8hm05jqrdjbc |
弹性裸金属型 | image-ybqiaa5f7g8rx7sk1xep | 无 | image-ybpsave0h6b1wzqzvuvt |
GPU渲染型 | image-yc66t71jb7dymizw3cd5 | 无 | image-ycaicq9i20dbkthjbbff |
veLinux-CentOS 兼容版-VKE
节点对应 ECS 规格 | 华北2(北京) cn-beijing | 华南1(广州) cn-guangzhou | 华东2(上海) cn-shanghai |
---|---|---|---|
X86计算:所有规格(含三代规格) | image-ybxij852mqb6uow354vz | image-ybwv4jtl4tea3dva0lk7 | image-ybx2w7yn63m05lag4c57 |
X86计算:仅三代规格 g3i、c3i、r3i、g3a、c3a | image-ycail4e1tngqeelnh40v | image-yca0mv06x5ea3cc0dpnw | image-yca8glc0kahu0qtd6t4y |
GPU计算型 | image-ycfajuqrj9gqefl5a9m5 | image-ycescgzok4gfws3loi1n | image-ycf2smjwzpm05ka6f90a |
高性能计算GPU型:hpcpni2、hpcg1ve | image-ycfajuqrj9gqefl5a9m5 | 无 | image-ycf2smjwzpm05ka6f90a |
高性能计算GPU型:ebmhpcpni2l | image-ycfakevlsvggefzppjzo | 无 | image-ycf2tffg8em05jn08kft |
弹性裸金属型 | image-yc0gb64h8lfu05cav34f | 无 | image-yc8ho9ibypdbksuaeb9l |
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 | pc51i0m6rsfen**** | 节点池 ID。 |
HTTP/1.1 200 OK Content-Type:application/json { "ResponseMetadata": { "RequestId": "021635330810134****", "Action": "CreateNodePool", "Version": "2022-05-12", "Service": "vke", "Region": "cn-beijing" }, "Result": { "Id": "pc51i0m6rsfen****" } }
本接口错误码如下表所示,公共错误码请参见 公共错误码。
HTTP状态码 | 错误码 | 错误信息 | 描述 |
---|---|---|---|
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 接口获取 ECS 实例规格与云盘规格的匹配关系,然后更新参数并重试。 |
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 等。请提升相关资源配额,或删除无用资源,预留出配额后重试。 |
400 | ZoneMismatch.HpcCluster | The specified HpcCluster {{hpcClusterID}} and subnet zones are mismatched. | 指定的高性能计算集群可用区与节点子网可用区不匹配。请确保两者可用区一致后重试。 |
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 | ClusterVersionMismatch.ImageId | The specified ImageId {{imageId}} and KubernetesVersion {{kubernetesVersion}} are mismatched. | 指定的镜像 ID(ImageId)与 集群 Kubernetes 版本不匹配。请根据参数说明,配置准确的参数值后重试。 |
409 | Conflict.Name | The specified name conflicts with existing {{resourceType}}. | 指定地域存在同名节点池,请更新节点池名称后重试。 |