全部產品
Search
文件中心

:建立叢集

更新時間:Jul 06, 2024

介面

介面名稱:createCluster

參數

參數

類型

是否必需

說明

clusterDescription

ClusterDescription

構建叢集的描述。

ClusterDescription 對象可通過 JSON 串初始化,具體參數請參閱 API 建立叢集描述。

傳回值

  • 建立成功後返回一個CreateClusterResponse執行個體,可以通過 response.getClusterId()擷取建立的叢集ID。

例子

下面是一個建立叢集的例子,可執行檔代碼部分是一個簡單的例子。注釋掉的代碼中是其他的參數的配置,您可以根據自己的需要開啟相關的功能。關於各個參數具體配置資訊請參考 API 建立叢集描述。

Java 源碼:

package demo;

import com.aliyuncs.batchcompute.main.v20151111.*;
import com.aliyuncs.batchcompute.model.v20151111.*;
import com.aliyuncs.batchcompute.pojo.v20151111.*;
import com.aliyuncs.exceptions.ClientException;

public class CreateCluster {
    static String ACCESS_KEY_ID = "xxx";  //這裡填寫您的 AccessKeyId
    static String ACCESS_KEY_SECRET = "xxx"; //這裡填寫您的 AccessKeySecret
    static String REGION_ID = "cn-xxx";   //這裡填寫期望叢集所在的 region

    public static void main(String[] args) {
        BatchCompute client = new BatchComputeClient(REGION_ID, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        try {
            ClusterDescription clusterDescription = getClusterDesc();
            CreateClusterResponse response = client.createCluster(clusterDescription);

            System.out.println(response);
            String clusterId = response.getClusterId();
            //建立成功
            System.out.println("Got cluster id:" + clusterId);
        } catch (ClientException e) {
            e.printStackTrace();
            //建立失敗
        }
    }
    private static ClusterDescription getClusterDesc(){
        ClusterDescription desc = new ClusterDescription();
        desc.setName("cluster_test");
        desc.setImageId("img-ubuntu");
        desc.setDescription("demo");
        //cluster 的其他屬性可以根據業務需要進行設定

        GroupDescription groupDesc = new GroupDescription();
        groupDesc.setDesiredVMCount(1);
        groupDesc.setInstanceType("ecs.s3.large");
        groupDesc.setResourceType("OnDemand");
        //groupDesc 的其他屬性(如:競價策略等)可以根據業務需要進行設定
        desc.addGroup("group1", groupDesc);
        return desc;
    }
}

執行結果:

{
    "Got cluster id": "cls-6kie8e833lnov8gg50k00i"
}

注意點

以下的各點都在 API 文檔中有相關的詳細說明。

1、叢集中預設只支援1個組,受配額限制。

2、如果 Group 中有配置 ResourceType,優先使用 Group 中的 ResourceType

3、執行個體的執行個體類型與磁碟類型有一定的對應關係,請參考ECS的執行個體文檔。

4、建議您使用 VPC 網路。您可以指定VpcId,如果不指定我們會自動給您建立。注意CidrBlock的格式。

5、Mount 的路徑請注意格式。如果掛在NAS,必須使用VPC,並且VPC配置中的VpcId必須是跟NAS在同一個VpcId下。

6、掛載 OSS 檔案的存取權限可以通過單獨配置 Access Key Id / Access Key Secrect。

7、如果您需要關心叢集即時狀態,可以通過 Notification 來擷取。

8、如果需要保證請求的等冪性,可以通過產生 Idempotent Token 來建立叢集。