介面
介面名稱: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 來建立叢集。