注册集群 - RegisterCluster
功能介绍
集群注册接口。支持附着集群的注册和CCE导入集群的注册。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v1/clusters
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 否 | String | 身份认证信息,调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值 |
| Content-Type | 是 | String | 消息体的类型(格式),仅支持application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| kind | 是 | String | 资源类型。注册集群必须填写为Cluster。 |
| apiVersion | 是 | String | API版本信息。现版本仅为v1。 |
| metadata | 是 | metadata object | 集群元数据信息。 |
| spec | 是 | spec object | 集群spec信息。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| uid | 否 | String | 集群ID信息,仅在注册CCE导入集群时使用,其他类型集群无需填写。 |
| name | 是 | String | CCE集群填写CCE集群名称,其他类型集群自定义 |
| labels | 否 | Map<String,String> | 标签信息。可为空,不为空时,必须满足kurbenetes label规范,最多可支持100个标签。 |
| annotations | 否 | Map<String,String> | 集群annotations信息。 附着集群必填一个kubeconfig字段,取值是kubeconfig文件的内容。kubeconfig文件获取方法请参见获取KubeConfig文件 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| clusterGroupID | 否 | String | 容器舰队ID信息。 |
| category | 是 | String | 集群类别,填写需要与provider和type对应,具体请参见集群类别与类型说明。 |
| type | 是 | String | 集群类型,填写需要与category和provider对应,具体请参见集群类别与类型说明。 |
| provider | 是 | String | 供应商,填写需要与category和type对应,具体请参见集群类别与类型说明。 |
| country | 是 | String | 所在国家代码,具体代码请参见国家码。 |
| city | 是 | String | 所在城市代码,具体代码请参见城市码。仅支持中国城市,其他国家无需填写。 |
| region | 否 | String | 地域信息。仅在CCE导入集群注册时使用。可通过获取未注册到UCS的CCE集群接口的region字段获取。 |
| projectID | 否 | String | 项目ID信息。仅在CCE导入集群注册时使用。可通过获取未注册到UCS的CCE集群接口的projectID字段获取。 |
| manageType | 是 | String | 集群管理类型信息。 取值如下: |
响应参数
状态码:201
| 参数 | 参数类型 | 描述 |
|---|---|---|
| uid | String | 集群ID |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | - |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | - |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | - |
状态码:409
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | - |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | - |
请求示例
-
POST https://ucs.myhuaweicloud.com/v1/clusters { "kind" : "Cluster", "apiVersion" : "v1", "metadata" : { "name" : "cce-cluster", "uid" : "44052cdd-8cd2-11ee-abd1-0255ac1001bd" }, "spec" : { "region" : "cn-north-4", "category" : "self", "type" : "turbo", "projectID" : "05495693df80d3c92fa1c01795c2be02", "clusterGroupID" : "", "manageType" : "discrete", "city" : "110000", "country" : "CN", "provider" : { "CCE" : "cce" } } } -
POST https://ucs.myhuaweicloud.com/v1/clusters { "kind" : "Cluster", "apiVersion" : "v1", "metadata" : { "name" : "ack-cluster", "annotations" : { "kubeconfig" : "{\"kind\":\"Config\",\"apiVersion\":\"v1\",\"preferences\":{},\"clusters\":[{\"name\":\"internalCluster\",\"cluster\":{\"server\":\"https://kubernetes.default.svc.cluster.local:443\",\"insecure-skip-tls-verify\":true}}],\"users\":[{\"name\":\"ucs-user\",\"user\":{\"token\":\"token-string\"}}],\"contexts\":[{\"name\":\"internal\",\"context\":{\"cluster\":\"internalCluster\",\"user\":\"ucs-user\"}}],\"current-context\":\"internal\"}" }, "labels" : { } }, "spec" : { "category" : "attachedcluster", "clusterGroupID" : "", "manageType" : "discrete", "city" : "110000", "country" : "CN", "provider" : { "ALI" : "aliyun", "TENCENT" : "tencentcloud", "AWS" : "aws", "GOOGLE" : "googlecloud", "AZURE" : "azure", "OPENSHIFT" : "openshift", "HUAWEISTACK" : "huaweicloudstack", "HUAWEI" : "huaweicloud", "PRIVATEK8S" : "privatek8s", "OTHER" : "other", "FLEXIBLEENGINE" : "FlexibleEngine", "FLEXIBLEENGINESTACK" : "FlexibleEngineStack", "OPENTELEKOMCLOUD" : "OpenTelekomCloud", "OPENTELEKOMCLOUDSTACK" : "OpenTelekomCloudStack", "TIANYI" : "ctcloud", "MOBILE" : "cmcloud" }, "type" : "ack" } }
响应示例
状态码:201
注册集群成功的返回信息,返回注册集群的Cluster ID
{
"uid" : "b0d1ecb5-7947-11ee-9467-0255ac1001bf"
} 状态码
| 状态码 | 描述 |
|---|---|
| 201 | 注册集群成功的返回信息,返回注册集群的Cluster ID |
| 400 | 客户端请求错误,服务器无法执行请求 |
| 403 | 服务器拒绝执行请求 |
| 404 | 资源不存在 |
| 409 | 请求存在冲突 |
| 500 | 服务器内部错误 |
错误码
请参见错误码。