更新指定的集群
功能介绍
该API用于更新指定的集群。
![](https://support.huaweicloud.com/api-cce/public_sys-resources/note_3.0-zh-cn.png)
集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。
调用方法
请参见如何调用API。
URI
PUT /autopilot/v3/projects/{project_id}/clusters/{cluster_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见如何获取接口URI中参数。 |
cluster_id |
是 |
String |
集群ID,获取方式请参见如何获取接口URI中参数。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
spec |
是 |
具体集群参数 |
|
metadata |
否 |
集群基本信息,包含与名称相关的字段 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
description |
否 |
String |
集群的描述信息。
|
customSan |
否 |
Array of strings |
集群的API Server服务端证书中的自定义SAN(Subject Alternative Name)字段,遵从SSL标准X509定义的格式规范。
示例: SAN 1: DNS Name=example.com SAN 2: DNS Name=www.example.com SAN 3: DNS Name=example.net SAN 4: IP Address=93.184.216.34 |
eniNetwork |
否 |
AutopilotEniNetworkUpdate object |
云原生网络2.0网络配置,包含集群的容器子网信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
subnets |
否 |
Array of AutopilotNetworkSubnet objects |
IPv4子网ID列表。 只允许新增子网,不可删除已有子网,请谨慎选择。 请求体中需包含所有已经存在的subnet。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
subnetID |
是 |
String |
用于创建控制节点的subnet的IPv4子网ID(暂不支持IPv6)。获取方法如下:
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
API类型,固定值“Cluster”或“cluster”,该值不可修改。 |
apiVersion |
String |
API版本,固定值“v3”,该值不可修改。 |
metadata |
AutopilotClusterMetadata object |
集群的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性。 |
spec |
AutopilotClusterSpec object |
spec是集合类的元素类型,您对需要管理的集群对象进行详细描述的主体部分都在spec中给出。CCE通过spec的描述来创建或更新对象。 |
status |
AutopilotClusterStatus object |
集合类的元素类型,用于记录对象在系统中的当前状态信息,包含了集群状态和本次创建集群作业的jobID |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
集群名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-128位,且不能以中划线(-)结尾。 |
uid |
String |
集群ID,资源唯一标识,创建成功后自动生成,填写无效。在创建包周期集群时,响应体不返回集群ID。 |
alias |
String |
集群显示名,用于在 CCE 界面显示,该名称创建后可修改。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-128位,且不能以中划线(-)结尾。 显示名和其他集群的名称、显示名不可以重复。 在创建集群、更新集群请求体中,集群显示名alias未指定或取值为空,表示与集群名称name一致。在查询集群等响应体中,集群显示名alias将必然返回,未配置时将返回集群名称name。 |
annotations |
Map<String,String> |
集群注解,由key/value组成: "annotations": { "key1" : "value1", "key2" : "value2" } 说明:
|
labels |
Map<String,String> |
集群标签,key/value对格式。 说明:
该字段值由系统自动生成,用于升级时前端识别集群支持的特性开关,用户指定无效。 |
creationTimestamp |
String |
集群创建时间 |
updateTimestamp |
String |
集群更新时间 |
参数 |
参数类型 |
描述 |
---|---|---|
category |
String |
集群类别。 |
type |
String |
集群Master节点架构:
|
flavor |
String |
集群规格,cce.autopilot.cluster |
version |
String |
集群版本,与Kubernetes社区基线版本保持一致,建议选择最新版本。 在CCE控制台支持创建两种最新版本的集群。可登录CCE控制台创建集群,在“版本”处获取到集群版本。 其它集群版本,当前仍可通过api创建,但后续会逐渐下线,具体下线策略请关注CCE官方公告。 说明:
|
platformVersion |
String |
CCE集群平台版本号,表示集群版本(version)下的内部版本。用于跟踪某一集群版本内的迭代,集群版本内唯一,跨集群版本重新计数。不支持用户指定,集群创建时自动选择对应集群版本的最新平台版本。 platformVersion格式为:cce.X.Y
|
description |
String |
集群描述,对于集群使用目的的描述,可根据实际情况自定义,默认为空。集群创建成功后可通过接口更新指定的集群来做出修改,也可在CCE控制台中对应集群的“集群详情”下的“描述”处进行修改。仅支持utf-8编码。 |
customSan |
Array of strings |
集群的API Server服务端证书中的自定义SAN(Subject Alternative Name)字段,遵从SSL标准X509定义的格式规范。
示例: SAN 1: DNS Name=example.com SAN 2: DNS Name=www.example.com SAN 3: DNS Name=example.net SAN 4: IP Address=93.184.216.34 |
enableSnat |
Boolean |
集群是否配置镜像访问。为确保您的集群节点可以从容器镜像服务中拉取镜像,默认使用所选VPC中已有的SWR和OBS终端节点,否则将会为您自动新建SWR和OBS终端节点。 |
enableSWRImageAccess |
Boolean |
集群是否配置SNAT。开启后您的集群可以通过NAT网关访问公网,默认使用所选的VPC中已有的NAT网关,否则系统将会为您自动创建一个默认规格的NAT网关并绑定弹性公网IP,自动配置SNAT规则。 |
enableAutopilot |
Boolean |
是否为Autopilot集群。 |
ipv6enable |
Boolean |
集群是否使用IPv6模式。 |
hostNetwork |
AutopilotHostNetwork object |
节点网络参数,包含了虚拟私有云VPC和子网的ID信息,而VPC是集群内节点之间的通信依赖,所以是必选的参数集。 |
containerNetwork |
AutopilotContainerNetwork object |
容器网络参数,包含了容器网络类型和容器网段的信息。 |
eniNetwork |
AutopilotEniNetwork object |
云原生网络2.0网络配置。 |
serviceNetwork |
AutopilotServiceNetwork object |
服务网段参数,包含IPv4 CIDR。 |
authentication |
AutopilotAuthentication object |
集群认证方式相关配置。 |
billingMode |
Integer |
集群的计费方式。
默认为“按需计费”。 |
kubernetesSvcIpRange |
String |
服务网段参数,kubernetes clusterIP取值范围。创建集群时如若未传参,默认为"10.247.0.0/16"。该参数废弃中,推荐使用新字段serviceNetwork,包含IPv4服务网段。 |
clusterTags |
Array of AutopilotResourceTag objects |
集群资源标签 |
kubeProxyMode |
String |
服务转发模式:
说明:
默认使用iptables转发模式。 |
az |
String |
可用区(仅查询返回字段)。 CCE支持的可用区请参考地区和终端节点 |
extendParam |
AutopilotClusterExtendParam object |
集群扩展字段,可配置多可用区集群、专属CCE集群,以及将集群创建在特定的企业项目下等。 |
supportIstio |
Boolean |
支持Istio |
configurationsOverride |
Array of AutopilotPackageConfiguration objects |
覆盖集群默认组件配置 若指定了不支持的组件或组件不支持的参数,该配置项将被忽略。 当前支持的可配置组件及其参数详见 |
参数 |
参数类型 |
描述 |
---|---|---|
vpc |
String |
用于创建控制节点的VPC的ID。 获取方法如下:
|
subnet |
String |
用于创建控制节点的subnet的网络ID。获取方法如下:
|
参数 |
参数类型 |
描述 |
---|---|---|
mode |
String |
容器网络类型
|
参数 |
参数类型 |
描述 |
---|---|---|
subnets |
Array of AutopilotNetworkSubnet objects |
ENI所在子网的IPv4子网ID列表。获取方法如下:
|
参数 |
参数类型 |
描述 |
---|---|---|
subnetID |
String |
用于创建控制节点的subnet的IPv4子网ID(暂不支持IPv6)。获取方法如下:
|
参数 |
参数类型 |
描述 |
---|---|---|
IPv4CIDR |
String |
kubernetes clusterIP IPv4 CIDR取值范围。创建集群时若未传参,默认为"10.247.0.0/16"。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
Key值。
|
value |
String |
Value值。
|
参数 |
参数类型 |
描述 |
---|---|---|
enterpriseProjectId |
String |
集群所属的企业项目ID。 说明:
|
upgradefrom |
String |
记录集群通过何种升级方式升级到当前版本。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
组件名称 |
configurations |
Array of AutopilotConfigurationItem objects |
组件配置项 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
集群状态,取值如下
|
jobID |
String |
任务ID,集群当前状态关联的任务ID。当前支持:
说明:
任务信息具有一定时效性,仅用于短期跟踪任务进度,请勿用于集群状态判断等额外场景。 |
reason |
String |
集群变为当前状态的原因,在集群在非“Available”状态下时,会返回此参数。 |
message |
String |
集群变为当前状态的原因的详细信息,在集群在非“Available”状态下时,会返回此参数。 |
endpoints |
Array of AutopilotClusterEndpoints objects |
集群中 kube-apiserver 的访问地址。 |
isLocked |
Boolean |
CBC资源锁定 |
lockScene |
String |
CBC资源锁定场景 |
lockSource |
String |
锁定资源 |
lockSourceId |
String |
锁定的资源ID |
deleteOption |
Object |
删除配置状态(仅删除请求响应包含) |
deleteStatus |
Object |
删除状态信息(仅删除请求响应包含) |
请求示例
仅更新集群描述
{ "spec" : { "description" : "new description" } }
响应示例
状态码: 200
表示更新指定集群成功。
{ "kind" : "Cluster", "apiVersion" : "v3", "metadata" : { "name" : "s00842745-128-3-r0", "uid" : "c82a7d44-1cc4-11ef-8460-0255ac101780", "creationTimestamp" : "2024-05-28 07:34:56.917029 +0000 UTC", "updateTimestamp" : "2024-06-04 13:12:35.749294 +0000 UTC", "labels" : { "FeatureGates" : "arpOptimization,elbv3,xGPU" }, "annotations" : { "enableAutopilot" : "true", "feature:supportNodePoolScaleGroup" : "true" }, "alias" : "s00842745-128-3-r0" }, "spec" : { "category" : "Turbo", "type" : "VirtualMachine", "flavor" : "cce.autopilot.cluster", "version" : "v1.28", "platformVersion" : "cce.3.0", "description" : "new description", "hostNetwork" : { "vpc" : "f9122377-7b2e-49c9-ab9e-bf0bfdd807b4", "subnet" : "6b757878-c428-4e76-a7e9-5e3853778d5d" }, "containerNetwork" : { "mode" : "eni" }, "eniNetwork" : { "eniSubnetId" : "b04a4b46-9f99-44a1-9a98-de52e549e68b", "subnets" : [ { "subnetID" : "b04a4b46-9f99-44a1-9a98-de52e549e68b" } ] }, "serviceNetwork" : { "IPv4CIDR" : "10.247.0.0/16" }, "authentication" : { "mode" : "rbac" }, "billingMode" : 0, "kubernetesSvcIpRange" : "10.247.0.0/16", "kubeProxyMode" : "iptables", "az" : "cn-north-7c", "extendParam" : { "enterpriseProjectId" : "5ebc44c1-617b-4d93-8d49-895b8a457a1f", "upgradefrom" : "" }, "supportIstio" : true }, "status" : { "phase" : "Available", "endpoints" : [ { "url" : "https://c82a7d44-1cc4-11ef-8460-0255ac101780.cluster.cce.cn-north-7.myhuaweicloud.com:5443", "type" : "Internal" } ] } }
状态码
状态码 |
描述 |
---|---|
200 |
表示更新指定集群成功。 |
错误码
请参见错误码。