You need to enable JavaScript to run this app.
导航
UpdateClusterConfig
最近更新时间:2024.09.14 18:01:01首次发布时间:2022.06.27 21:21:32

更新指定容器服务集群的配置信息。

使用说明

此接口为异步接口,当此接口返回成功时,此时集群实例将进入{Updating, [Progressing]}状态。待所有更新执行成功,最终进入{Running, [Ok]}。请调用 ListClusters 接口获取该集群当前的状态及其说明。

请求说明

  • 请求方式:POST
  • 请求地址:https://open.volcengineapi.com/?Action=UpdateClusterConfig&Version=2022-05-12

调试

请求参数

调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数

参数类型是否必选示例值描述
ActionStringUpdateClusterConfig接口名称。当前 API 的名称为 UpdateClusterConfig
VersionString2022-05-12接口版本。当前 API 的版本为 2022-05-12
ClientTokenStringBusinessRequest12345用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。

Id

String

cc8oo0ivqt****

待更新集群的 ID。
可以调用 ListClusters 接口,获取集群 ID。

注意

待更新的集群必须处于{Running,[*]}状态。可调用 ListClusters 接口获取集群当前的状态。

Name

String

TestCluster

集群名称。

  • 同一个地域下,名称必须唯一。
  • 支持大小写英文字母、汉字、数字、短划线(-),长度限制为 2~64 个字符。
DescriptionStringA Kubernetes Cluster Managed by VKE集群描述,长度限制为 300 个字符以内。

DeleteProtectionEnabled

Boolean

false

集群删除保护,取值:

  • false:(默认值)关闭删除保护。
  • true:开启删除保护,不允许直接删除集群。更新集群后,可在调用 DeleteCluster 时,配置 Force 参数,选择强制删除集群。
ClusterConfigObject of ClusterConfigUpdateRequest-集群控制面及节点的网络配置。
PodsConfigObject of PodsConfigUpdateRequest-集群的容器(Pod)网络配置。
LoggingConfigObject of ClusterLoggingConfigRequest-集群的日志配置信息。

ClusterConfigUpdateRequest

参数类型是否必选示例值描述

SubnetIds

Array of String

["subnet-5g39dwxvpdc","subnet-5g39dwxvpsa"]

集群控制面在私有网络(VPC)内通信的子网 ID。
可以调用 私有网络API 获取子网 ID。

注意

  • 请确保所有指定的 SubnetIds(包括但不限于本参数)属于同一个私有网络。
  • 不支持删除已配置的子网。
  • 最多可选择 3 个可用区的子网,每个可用区最多允许添加 2 个子网。
  • 子网可用 IP 数至少为 1。

ApiServerPublicAccessEnabled

Boolean

false

集群 API Server 公网访问配置,取值:

  • false:关闭
  • true:开启

ApiServerPublicAccessConfig

Object of PublicAccessConfigRequest

-

集群 API Server 公网访问配置信息。
ApiServerPublicAccessEnabled=true时才生效。

PublicAccessConfigRequest

参数类型是否必选示例值描述

PublicAccessNetworkConfig

Object of EipConfigRequest

-

公网访问网络配置。
ApiServerPublicAccessEnabled=true时才需要填写,否则忽略。

说明

集群创建完成后暂不支持修改该参数,请合理配置。

EipConfigRequest

参数类型是否必选示例值描述

BillingType

Integer

2

公网 IP 的计费类型,取值:

  • 3:(默认值)按量计费-按实际流量计费,即指定带宽上限后,将按照实际使用的出公网流量计费,与使用时长无关。
  • 2:按量计费-按带宽上限计费,即指定带宽上限后,将按照使用时长计费,与实际流量无关。

Bandwidth

Integer

10

公网 IP 的带宽峰值,单位为 Mbps,取值:

  • BillingType=2时:取值范围 1 ~ 500,默认值 10。
  • BillingType=3时:取值范围 1 ~ 200,默认值 10。

Isp

String

BGP

公网 IP 的线路类型,取值:
BGP:BGP(多线)。

PodsConfigUpdateRequest

参数类型是否必选示例值描述

VpcCniConfig

Object of VpcCniConfigUpdateRequest

-

VPC-CNI 网络配置。
PodNetworkMode=VpcCniShared时才能配置,但非必选。

VpcCniConfigUpdateRequest

参数类型是否必选示例值描述

SubnetIds

Array of String

["subnet-5g39dwxvp******","subnet-5g39dwxvp******"]

VPC-CNI 容器网络模型对应的 Pod 子网 ID 列表。
PodNetworkMode=VpcCniShared时才需填写,否则忽略。
可以调用 私有网络API 获取子网 ID。

注意

更新集群时,仅支持在当前集群原有 Pod 子网基础上增加 Pod 子网。

ClusterLoggingConfigRequest

参数类型是否必选示例值描述

LogSetups

Array of LogSetupRequest

-

集群的日志选项信息。

  • 空数组代表不开启任何日志。
  • 首次开启日志时,日志主题(Log Topic)自动生成。
  • 多个日志选项时,LogType 不允许重复。

LogProjectId

String

b68324a0-2680-****

集群的日志项目(Log Project)ID。

注意

  • 不可以空字符串。
  • 创建集群时,若 LogProjectId 不传参数值,表示由系统自动创建新的日志项目。
  • 系统自动创建日志项目,按照k8s-log-{clusterId}-{6位随机字符}格式自动生成项目名称。
  • 如果 LogSetups.Enabled 字段取值为 false,则不会自动创建日志项目。
  • 更新集群配置时,若 LogProjectId 已指定日志项目,则不可更新为空。
  • 更新集群配置时,若集群不存在任何日志配置,此时只传了 LogProjectId 且LogSetups 为空时,LogProjectId 将会被忽略。
  • 更新 LogProjectId 会为处于开启状态的日志创建新的主题。

LogSetupRequest

参数类型是否必选示例值描述

LogType

String

Audit

当前开启的日志类型,取值:

  • Audit:集群审计日志
  • KubeApiServer:kube-apiserver 组件日志
  • KubeScheduler:kube-scheduler 组件日志
  • KubeControllerManager:kube-controller-manager 组件日志

LogTtl

Integer

30

日志在日志服务中的保存时间,超过指定的日志存储时长后,此日志主题中的过期日志会被自动清除。

  • 取值范围:1~3650
  • 单位:天
  • 默认值:30 天
    指定为 3650 天表示永久存储。

Enabled

Boolean

false

是否开启该日志选项,取值:

  • false:(默认值)不开启
  • true:开启

注意

  • 更新集群配置时,若 LogType 为 Audit,则更改 Enabled 会重启 Apiserver。
  • 更新集群配置时,若 Enabled 由 false 更换为 true,则会创建新的日志主题。

请求示例

POST https://open.volcengineapi.com/?Action=UpdateClusterConfig&Version=2022-05-12 HTTP/1.1
Content-Type:application/json
{
    "Id": "cc8oo0iv****",
    "DeleteProtectionEnabled": true,
    "PodsConfig": {
        "VpcCniConfig": {
            "SubnetIds": ["subnet-****1", "subnet-****2"]
        }
    },
    "LoggingConfig": {
        "LogSetups": [
            {
                "LogType": "Audit",
                "LogTtl": 30,
                "Enabled": true
            }
        ]
    }
}

返回参数

本接口无专有返回参数,公共返回参数请参见 返回结果

返回示例

HTTP/1.1 200 OK
Content-Type:application/json

{
    "ResponseMetadata": {
        "RequestId": "0216353****",
        "Action": "UpdateClusterConfig",
        "Version": "2022-05-12",
        "Service": "vke",
        "Region": "cn-beijing"
    },
    "Result": {}
}

错误码

本接口错误码如下表所示,公共错误码请参见 公共错误码

HTTP 状态码错误码错误信息说明
400OperationDenied.ClusterStatusThe action has been denied due to wrong cluster status {{statusPhase}} and [{{statusConditions}}].指定集群的当前状态不支持该操作。请确认该接口依赖的集群状态后重试。
400NotSupported.{{parameter}}The specified {{resourceType}} {{resourceContent}} is not supported.不支持指定的资源,例如容器服务不支持 SubnetIds 指定的子网所在可用区。请更新参数值后重试。
400QuotaExceeded.{{ResourceType}}The quota of {{ResourceType}} has reached the limit.指定资源的配额达到上限,如 EIP、LogProject、LogTopic 等。请提升相关资源配额,或删除无用资源,预留出配额后重试。
400Insufficient.SubnetIpThe IP of subnet {{subnetId}} is insufficient.指定的子网可用 IP 数量不足。请指定符合要求的子网后重试。
400LimitExceeded.ClusterSubnetZonesYou have reached the limit of the number of cluster subnet zones that you can add.集群子网可用区个数超过限制。请确保子网可用区不超过 3 个。
400LimitExceeded.ClusterSubnetsOfZoneYou have reached the limit of the number of cluster subnets in zone {{zone}} that you can add.单个可用区下已指定的子网个数超过限制。请确保每个可用区下已指定的子网数不超过 2 个。
409Conflict.NameThe specified name conflicts with existing {{resourceType}}.指定地域存在同名资源,请更新资源名称后重试。
400VpcMismatch.{{parameter}}The specified {{resourceType}} {{resourceId}} is not in the same VPC.指定的资源不属于同一个 VPC,例如 SubnetIds。请更新参数值后重试。
400UpdateNotAllowed.{{Parameter}}The update to the specified parameter {{parameter}} is not allowed due to {{reason}}.指定的参数不允许更新,例如 vpc-cni 组件状态异常或版本较低时不支持更新 SubnetIds。可调用 (ListAddons)[https://www.volcengine.com/docs/6460/115206] 接口,查看组件状态。