更新指定集群下的节点池配置。
调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | UpdateNodePoolConfig | 接口名称。当前 API 的名称为 UpdateNodePoolConfig 。 |
Version | String | 是 | 2022-05-12 | 接口版本。当前 API 的版本为 2022-05-12 。 |
ClientToken | String | 否 | BC028527-33B9-4990-A633-84E9F9****** | 用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。 |
ClusterId | String | 是 | cc5silum******** | 节点池所在集群的 ID。 注意 集群必须处于 |
Id | String | 是 | pc51i0m6******** | 节点池 ID。 注意 节点池必须处于 |
Name | String | 否 | test-nodepool | 节点池名称。
注意 不能使用默认节点池保留名: |
KubernetesConfig | Object of NodePoolKubernetesConfigRequest | 否 | - | 节点池 Kubernetes 的配置。 |
NodeConfig | Object of NodeConfigForUpdate | 否 | - | 节点池中云服务器实例配置。 |
AutoScaling | Object of NodePoolAutoScalingRequest | 否 | - | 节点池伸缩策略。 说明 默认节点池 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
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 文件中展示的
|
AutoSyncDisabled | Boolean | 否 | false | 是否禁用自动同步标签污点到存量节点的功能,取值:
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
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-3rf6wbg******"] | 节点网络所属的子网 ID 列表。 注意
|
SystemVolume | Object of SystemVolume | 否 | - | 节点的系统盘配置。 |
DataVolumes | Array of DataVolume | 否 | - | 节点的数据盘配置。 |
AdditionalContainerStorageEnabled | Boolean | 否 | false | 配置节点的第一块数据盘并格式化挂载作为容器镜像和日志的存储目录,取值范围:
|
InitializeScript | String | 否 | ZWNobyAidG****** | 创建并初始化节点后执行的自定义脚本。 说明 Base64 编码后长度不超过 1 KB。 |
Security | Object of NodeSecurityForUpdate | 否 | - | 节点安全配置。 |
Period | Integer | 否 | 12 | 云服务器实例购买时长。取值如下,单位为月: |
AutoRenew | Boolean | 否 | true | 云服务器实例到期后是否自动续费,取值如下:
|
AutoRenewPeriod | Integer | 否 | 1 | 云服务器实例每次自动续费时长。取值如下,单位为月: |
NamePrefix | String | 否 | prefix-name | 节点名称前缀。取值为空字符串时表示不启用节点命名前缀。前缀校验规则如下:
|
Tags | Array of Tag | 否 | - | 节点对应 ECS 实例绑定的标签信息,用于搜索、管理 ECS 实例。
|
HpcClusterIds | Array of String | 否 | ["hpcCluster-1"] | 高性能计算集群 ID。
说明
|
ImageId | String | 否 | image-kd******** | 节点对应的 ECS 实例使用的镜像 ID。 |
ProjectName | String | 否 | default | 节点池中扩容出来的 ECS 所属的项目名称,一个 ECS 只能归属于一个项目。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Type | String | 否 | ESSD_PL0 | 云盘类型:
注意 更新节点池时,该参数为必填参数,无默认值。 |
Size | Integer | 否 | 40 | 云盘容量,单位 GiB,取值说明:
注意 更新节点池时,该参数为必填参数,无默认值。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Type | String | 否 | ESSD_PL0 | 磁盘类型:
注意 更新节点池时,该参数为必填参数,无默认值。 |
Size | Integer | 否 | 20 | 磁盘容量,单位 GiB,数据云盘数值范围:
注意 更新节点池时,该参数为必填参数,无默认值。 |
MountPoint | String | 否 | /vke | 磁盘格式化后的目标挂载目录,取值要求如下:
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
SecurityGroupIds | Array of String | 否 | ["sg-2byy13cns******"] | 节点网络所在的安全组 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=UpdateNodePoolConfig&Version=2022-05-12 HTTP/1.1 Content-Type:application/json { "ClusterId": "cc5silum********", "Id": "pc51i0m6********", "AutoScaling": { "DesiredReplicas": 1, "SubnetPolicy": "Priority" }, "ClientToken": "BC028527-33B9-4990-A633-84E9F9******" }
本接口无专有返回参数,公共返回参数请参见 返回结果。
HTTP/1.1 200 OK Content-Type:application/json { "ResponseMetadata": { "RequestId": "021635330********", "Action": "UpdateNodePoolConfig", "Version": "2022-05-12", "Service": "vke", "Region": "cn-beijing" }, "Result": {} }
本接口错误码如下表所示,公共错误码请参见 公共错误码。
HTTP 状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
409 | Conflict.Name | The specified name conflicts with existing {{resourceType}}. | 指定地域存在同名资源,请更新资源名称后重试。 |
400 | OperationDenied.ClusterStatus | The action has been denied due to wrong cluster status {{statusPhase}} and [{{statusConditions}}]. | 指定集群的当前状态不支持该操作。请确认该接口依赖的集群状态后重试。 |
400 | OperationDenied.NodePoolStatus | The action has been forbidden due to wrong node pool status {{statusPhase}} and [{{statusConditions}}]. | 指定节点池的当前状态不支持该操作。请确认该接口依赖的节点池状态后重试。 |
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 | 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 | UpdateNotAllowed.{{parameter}} | The update to the specified parameter {{parameter}} is not allowed due to {{resourceType}}. | 节点池不支持更新:
|
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 | QuotaExceeded.{{ResourceType}} | The quota of {{ResourceType}} has reached the limit. | 指定资源的配额达到上限,如 EIP、ECS、ECS Tag、EBS 等。请提升相关资源配额,或删除无用资源,预留出配额后重试。 |
400 | ZoneMismatch.Subnet | The specified Subnet {{subnetId}} is not in the cluster defined zones. | 指定的子网所属的可用区不在集群支持的可用区内。请使用匹配集群可用区的子网。 |
400 | OutOfRange.DataVolumes | There is no data volume for additional container storage enabling. | 启用了配置节点的第一块数据盘作为容器镜像和日志的存储目录(即AdditionalContainerStorageEnabled=true ),但是 DataVolume 参数中并没有指定任何数据盘。请指定参数值后重试。 |
400 | ZoneMismatch.InstanceType | The specified InstanceType {{instanceType}} and subnet zones are mismatched. | 子网所在的可用区不支持该实例规格。请调用云服务的 DescribeAvailableResource 接口获取各可用区支持的实例规格情况,然后更新参数并重试。 |
400 | InstanceTypeMismatch.VolumeType | The specified VolumeType {{volumeType}} and InstanceType {{instanceType}} are mismatched. | 指定的实例规格和云盘规格不匹配。请调用云服务的 DescribeInstanceTypes 接口获取云服务器实例规格与云盘规格的匹配关系,然后更新参数并重试。 |
400 | NotSupported.{{parameter}} | The specified {{resourceType}} {{resourceContent}} is not supported. | 指定参数不支持,如 InstanceType、ImageId 等。请确认参数后重试。 |
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 版本不匹配。请根据参数说明,配置准确的参数值后重试。 |
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 以上。 |