华为云计算 云知识 变更集群规格ResizeCluster
变更集群规格ResizeCluster

 

功能介绍

该API用于变更一个指定集群的规格。

  • 集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。

  • 使用限制请参考:变更集群规格

调用方法

请参见如何调用API

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/resize

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见如何获取接口URI中参数

cluster_id

String

集群ID,获取方式请参见如何获取接口URI中参数

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式)

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token

表3 请求Body参数

参数

是否必选

参数类型

描述

flavorResize

String

要变更的目标规格

  • cce.s1.small: 小规模单控制节点CCE集群(最大50节点)

  • cce.s1.medium: 中等规模单控制节点CCE集群(最大200节点)

  • cce.s2.small: 小规模多控制节点CCE集群(最大50节点)

  • cce.s2.medium: 中等规模多控制节点CCE集群(最大200节点)

  • cce.s2.large: 大规模多控制节点CCE集群(最大1000节点)

  • cce.s2.xlarge: 超大规模多控制节点CCE集群(最大2000节点)

说明:
  • s1:单控制节点CCE集群。

  • s2:多控制节点CCE集群。

  • dec:专属CCE集群规格。如cce.dec.s1.small为小规模单控制节点专属CCE集群(最大50节点)。

  • 最大节点数:当前集群支持管理的最大节点规模,请根据业务需求选择。

  • 单控制节点集群:普通集群是单控制节点,控制节点故障后,集群将不可用,但已运行工作负载不受影响。

  • 多控制节点集群:即高可用集群,当某个控制节点故障时,集群仍然可用。

extendParam

extendParam object

 
表4 extendParam

参数

是否必选

参数类型

描述

decMasterFlavor

String

专属云CCE集群可指定控制节点的规格

isAutoPay

String

是否自动扣款

  • “true”:自动扣款

  • “false”:不自动扣款

说明:

包周期集群时生效,不填写此参数时默认不会自动扣款。

响应参数

状态码: 201

表5 响应Body参数

参数

参数类型

描述

jobID

String

任务ID

orderID

String

包周期集群变更规格订单ID

请求示例

  • 变更包周期集群规格(自动付费)

    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/resize
    
    {
      "flavorResize" : "cce.s1.medium",
      "extendParam" : {
        "isAutoPay" : "true"
      }
    }
  • 变更按需集群规格

    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/resize
    
    {
      "flavorResize" : "cce.s1.medium"
    }

响应示例

状态码: 201

表示按需集群规格变更作业下发成功

{
  "jobID" : "13b8d958-8fcf-11ed-aef3-0255ac1001bd"
}

SDK代码示例

SDK代码示例如下。

  • Java
  • Python
  • Go
  • 更多
  • 变更包周期集群规格(自动付费)

    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.cce.v3.region.CceRegion;
    import com.huaweicloud.sdk.cce.v3.*;
    import com.huaweicloud.sdk.cce.v3.model.*;
    
    
    public class ResizeClusterSolution {
    
        public static void main(String[] args) {
            String ak = "<YOUR AK>";
            String sk = "<YOUR SK>";
            String projectId = "<project_id>";
    
            ICredential auth = new BasicCredentials()
                    .withProjectId(projectId)
                    .withAk(ak)
                    .withSk(sk);
    
            CceClient client = CceClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(CceRegion.valueOf("cn-north-4"))
                    .build();
            ResizeClusterRequest request = new ResizeClusterRequest();
            request.withClusterId("<cluster_id>");
            ResizeClusterRequestBody body = new ResizeClusterRequestBody();
            ResizeClusterRequestExtendParam extendParambody = new ResizeClusterRequestExtendParam();
            extendParambody.withIsAutoPay("true");
            body.withExtendParam(extendParambody);
            body.withFlavorResize("cce.s1.medium");
            request.withBody(body);
            try {
                ResizeClusterResponse response = client.resizeCluster(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
  • 变更按需集群规格

    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.cce.v3.region.CceRegion;
    import com.huaweicloud.sdk.cce.v3.*;
    import com.huaweicloud.sdk.cce.v3.model.*;
    
    
    public class ResizeClusterSolution {
    
        public static void main(String[] args) {
            String ak = "<YOUR AK>";
            String sk = "<YOUR SK>";
            String projectId = "<project_id>";
    
            ICredential auth = new BasicCredentials()
                    .withProjectId(projectId)
                    .withAk(ak)
                    .withSk(sk);
    
            CceClient client = CceClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(CceRegion.valueOf("cn-north-4"))
                    .build();
            ResizeClusterRequest request = new ResizeClusterRequest();
            request.withClusterId("<cluster_id>");
            ResizeClusterRequestBody body = new ResizeClusterRequestBody();
            body.withFlavorResize("cce.s1.medium");
            request.withBody(body);
            try {
                ResizeClusterResponse response = client.resizeCluster(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
  • 变更包周期集群规格(自动付费)

    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcce.v3.region.cce_region import CceRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkcce.v3 import *
    
    if __name__ == "__main__":
        ak = "<YOUR AK>"
        sk = "<YOUR SK>"
        projectId = "<project_id>"
    
        credentials = BasicCredentials(ak, sk, projectId) \
    
        client = CceClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(CceRegion.value_of("cn-north-4")) \
            .build()
    
        try:
            request = ResizeClusterRequest()
            request.cluster_id = "<cluster_id>"
            extendParambody = ResizeClusterRequestExtendParam(
                is_auto_pay="true"
            )
            request.body = ResizeClusterRequestBody(
                extend_param=extendParambody,
                flavor_resize="cce.s1.medium"
            )
            response = client.resize_cluster(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
  • 变更按需集群规格

    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcce.v3.region.cce_region import CceRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkcce.v3 import *
    
    if __name__ == "__main__":
        ak = "<YOUR AK>"
        sk = "<YOUR SK>"
        projectId = "<project_id>"
    
        credentials = BasicCredentials(ak, sk, projectId) \
    
        client = CceClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(CceRegion.value_of("cn-north-4")) \
            .build()
    
        try:
            request = ResizeClusterRequest()
            request.cluster_id = "<cluster_id>"
            request.body = ResizeClusterRequestBody(
                flavor_resize="cce.s1.medium"
            )
            response = client.resize_cluster(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
  • 变更包周期集群规格(自动付费)

    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
    )
    
    func main() {
        ak := "<YOUR AK>"
        sk := "<YOUR SK>"
        projectId := "<project_id>"
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            WithProjectId(projectId).
            Build()
    
        client := cce.NewCceClient(
            cce.CceClientBuilder().
                WithRegion(region.ValueOf("cn-north-4")).
                WithCredential(auth).
                Build())
    
        request := &model.ResizeClusterRequest{}
    	request.ClusterId = "<cluster_id>"
    	isAutoPayExtendParam:= "true"
    	extendParambody := &model.ResizeClusterRequestExtendParam{
    		IsAutoPay: &isAutoPayExtendParam,
    	}
    	request.Body = &model.ResizeClusterRequestBody{
    		ExtendParam: extendParambody,
    		FlavorResize: "cce.s1.medium",
    	}
    	response, err := client.ResizeCluster(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
  • 变更按需集群规格

    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
    )
    
    func main() {
        ak := "<YOUR AK>"
        sk := "<YOUR SK>"
        projectId := "<project_id>"
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            WithProjectId(projectId).
            Build()
    
        client := cce.NewCceClient(
            cce.CceClientBuilder().
                WithRegion(region.ValueOf("cn-north-4")).
                WithCredential(auth).
                Build())
    
        request := &model.ResizeClusterRequest{}
    	request.ClusterId = "<cluster_id>"
    	request.Body = &model.ResizeClusterRequestBody{
    		FlavorResize: "cce.s1.medium",
    	}
    	response, err := client.ResizeCluster(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

201

表示按需集群规格变更作业下发成功

错误码

请参见错误码

 

上一篇:云小课 | 安全第6课 SCM助您一键推送证书至华为云服务 下一篇:管理与部署:业务云化助推器

弹性云服务器 ECS

弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率

三年低至5折,多种配置可选

了解详情