接口
接口名稱:createCluster
參數
參數 | 類型 | 是否必需 | 說明 |
clusterDescription | ClusterDescription | 是 | 構建集群的描述。 |
ClusterDescription 對象可通過 JSON 串初始化,具體參數請參閱 API 創建集群描述。
返回值
創建成功后返回一個CreateClusterResponse實例,可以通過
response.getClusterId()
獲取創建的集群ID。失敗拋出異常和錯誤,參考 SDK的使用說明中的異常類型。
例子
下面是一個創建集群的例子,可執行的代碼部分是一個簡單的例子。注釋掉的代碼中是其他的參數的配置,您可以根據自己的需要打開相關的功能。關于各個參數具體配置信息請參考 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 來創建集群。