全部產品
Search
文件中心

Enterprise Distributed Application Service:使用API建立ECS叢集

更新時間:Jun 30, 2024

本文介紹如何使用EDAS提供的Java SDK調用API建立ECS叢集。

前提條件

在建立ECS叢集前,您必須提前完成以下準備工作:
  • 安裝EDAS的Java SDK。更多資訊,請參見Java SDK接入指南
  • 確定建立ECS叢集的地區,假設為cn-hangzhou
  • 建立微服務空間。具體操作,請參見建立微服務空間

    如果已經存在微服務空間,您可以調用ListUserDefineRegion介面查詢使用者自訂微服務空間列表,擷取目標微服務空間的RegionId

  • 如果您要在Virtual Private Cloud中建立ECS叢集,請先建立VPC。具體操作,請參見搭建IPv4專用網路

    如果您已經建立了Virtual Private Cloud,則可以調用ListVpc介面查詢VPC列表,擷取VPC執行個體ID(VpcId),假設為vpc-bp1hcg467ekqsv****

背景資訊

EDAS提供兩類ECS叢集:阿里雲ECS叢集和非阿里雲ECS叢集(混合雲ECS叢集)。

  • 阿里雲ECS叢集:由阿里雲的ECS組成的叢集。本文介紹如何建立阿里雲ECS叢集。

  • 非阿里雲ECS叢集:即混合雲ECS叢集,可以包含阿里雲的ECS、本地IDC內的伺服器以及其他雲端服務供應商的伺服器。這些伺服器通過專線連通,並添加到EDAS的非阿里雲ECS叢集中進行管理。關於非阿里雲ECS叢集的更多資訊,請參見建立混合雲ECS叢集

建立ECS叢集

以下代碼用於建立ECS叢集。

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.edas.model.v20170801.InsertClusterRequest;
import com.aliyuncs.edas.model.v20170801.InsertClusterResponse;

public class InsertCluster {

    public static void main(String[] args)  {
        //阿里雲帳號或RAM使用者的AccessKey ID。
        String aliyun_user_ak = "<yourAccessKeyId>";
        //阿里雲帳號或RAM使用者的AccessKey Secret。
        String aliyun_user_sk = "<yourAccessKeySecret>";
        //要建立ECS叢集的目標地區ID。
        String region_id = "cn-hangzhou";

        DefaultProfile defaultProfile = DefaultProfile.getProfile(region_id, aliyun_user_ak, aliyun_user_sk);
        DefaultAcsClient client = new DefaultAcsClient(defaultProfile);

        //建立API請求,並設定參數。
        InsertClusterRequest request = new InsertClusterRequest();
        //需要建立ECS叢集的目標微服務空間的RegionId,例如:cn-hangzhou:doc。
        request.setLogicalRegionId("cn-hangzhou:doc");
        //自訂ECS叢集名稱,例如:ECSClueter_doc。
        request.setClusterName("ECSClueter_doc");
        //設定叢集類型,設定為2,即代表ECS叢集。
        request.setClusterType(2);
        //設定叢集網路類型,2代表Virtual Private Cloud,1代表傳統網路。
        request.setNetworkMode(2);
        //VPC執行個體ID,當選擇Virtual Private Cloud時,此參數必填。
        request.setVpcId("vpc-bp1hcg467ekqsv****");


        try {
            InsertClusterResponse response = client.getAcsResponse(request);
            System.out.println("Message=" + response.getMessage() + "\nClusterName=" + response.getCluster().getClusterName()+ "\nClusterId=" + response.getCluster().getClusterId());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
運行程式,返回的執行結果如下:
Message=success
ClusterName=ECSClueter_doc
ClusterId=369d06d7-450b-4f3d-bf75-9536fcd9****

結果驗證

在建立ECS叢集後,您可以調用ListCluster介面查詢叢集列表,根據返回結果中的叢集名稱(ClusterName)參數值判斷您是否操作成功。

調用ListCluster介面返回的結果如下:
{
  "ClusterList": {
    "Cluster": [
      {
        "OversoldFactor": 1,
        "NodeNum": 0,
        "ResourceGroupId": "rg-acfm3umruf2****",
        "ClusterId": "369d06d7-450b-4f3d-bf75-9536fcd9****",
        "CreateTime": 1618558401855,
        ......
        "VpcId": "vpc-bp1hcg467ekqsv0zr****",
        "UpdateTime": 1618558401855,
        "ClusterName": "ECSClueter_doc",
        "RegionId": "cn-hangzhou:doc",
        "IaasProvider": "ALIYUN",
        "CpuUsed": 0
      }
    ]
  },
  "Message": "success",
  "RequestId": "65C65D19-36BF-40C1-A3D0-23902D2AF49C",
  "Code": 200
}