華為云計算 云知識 變更集群規(guī)格ResizeCluster
變更集群規(guī)格ResizeCluster

 

功能介紹

該API用于變更一個指定集群的規(guī)格。

  • 集群管理的URL格式為:https://Endpoint/uri。其中uri為資源路徑,也即API訪問的路徑。

  • 使用限制請參考:變更集群規(guī)格。

調用方法

請參見如何調用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方式,此參數為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。

表3 請求Body參數

參數

是否必選

參數類型

描述

flavorResize

String

要變更的目標規(guī)格

  • cce.s1.small: 小規(guī)模單控制節(jié)點CCE集群(最大50節(jié)點)

  • cce.s1.medium: 中等規(guī)模單控制節(jié)點CCE集群(最大200節(jié)點)

  • cce.s2.small: 小規(guī)模多控制節(jié)點CCE集群(最大50節(jié)點)

  • cce.s2.medium: 中等規(guī)模多控制節(jié)點CCE集群(最大200節(jié)點)

  • cce.s2.large: 大規(guī)模多控制節(jié)點CCE集群(最大1000節(jié)點)

  • cce.s2.xlarge: 超大規(guī)模多控制節(jié)點CCE集群(最大2000節(jié)點)

說明:
  • s1:單控制節(jié)點CCE集群。

  • s2:多控制節(jié)點CCE集群。

  • dec:專屬CCE集群規(guī)格。如cce.dec.s1.small為小規(guī)模單控制節(jié)點專屬CCE集群(最大50節(jié)點)。

  • 最大節(jié)點數:當前集群支持管理的最大節(jié)點規(guī)模,請根據業(yè)務需求選擇。

  • 單控制節(jié)點集群:普通集群是單控制節(jié)點,控制節(jié)點故障后,集群將不可用,但已運行工作負載不受影響。

  • 多控制節(jié)點集群:即高可用集群,當某個控制節(jié)點故障時,集群仍然可用。

extendParam

extendParam object

 
表4 extendParam

參數

是否必選

參數類型

描述

decMasterFlavor

String

專屬云CCE集群可指定控制節(jié)點的規(guī)格

isAutoPay

String

是否自動扣款

  • “true”:自動扣款

  • “false”:不自動扣款

說明:

包周期集群時生效,不填寫此參數時默認不會自動扣款。

響應參數

狀態(tài)碼: 201

表5 響應Body參數

參數

參數類型

描述

jobID

String

任務ID

orderID

String

包周期集群變更規(guī)格訂單ID

請求示例

  • 變更包周期集群規(guī)格(自動付費)

    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/resize
    
    {
      "flavorResize" : "cce.s1.medium",
      "extendParam" : {
        "isAutoPay" : "true"
      }
    }
  • 變更按需集群規(guī)格

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

響應示例

狀態(tài)碼: 201

表示按需集群規(guī)格變更作業(yè)下發(fā)成功

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

SDK代碼示例

SDK代碼示例如下。

  • Java
  • Python
  • Go
  • 更多
  • 變更包周期集群規(guī)格(自動付費)

    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());
            }
        }
    }
  • 變更按需集群規(guī)格

    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());
            }
        }
    }
  • 變更包周期集群規(guī)格(自動付費)

    # 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)
  • 變更按需集群規(guī)格

    # 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)
  • 變更包周期集群規(guī)格(自動付費)

    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)
        }
    }
  • 變更按需集群規(guī)格

    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代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

201

表示按需集群規(guī)格變更作業(yè)下發(fā)成功

錯誤碼

請參見錯誤碼。