全部产品
云市场

创建集群

更新时间:2018-11-18 12:15:43

接口

接口名称:createCluster

参数

参数 类型 是否必需 说明
clusterDescription ClusterDescription 构建集群的描述。

ClusterDescription 对象可通过 JSON 串初始化,具体参数请参阅 API 创建集群 描述。

返回值

  • 创建成功后返回一个CreateClusterResponse实例,可以通过 response.getClusterId() 获取创建的集群ID。失败抛出异常和错误,参考 SDK的使用说明 中的异常类型。

例子

下面是一个创建集群的例子,可执行的代码部分是一个简单的例子。注释掉的代码中是其他的参数的配置,您可以根据自己的需要打开相关的功能。关于各个参数具体配置信息请参考 API 创建集群 描述。

Java 源码:

  1. package demo;
  2. import com.aliyuncs.batchcompute.main.v20151111.*;
  3. import com.aliyuncs.batchcompute.model.v20151111.*;
  4. import com.aliyuncs.batchcompute.pojo.v20151111.*;
  5. import com.aliyuncs.exceptions.ClientException;
  6. public class CreateCluster {
  7. static String ACCESS_KEY_ID = "xxx"; //这里填写您的 AccessKeyId
  8. static String ACCESS_KEY_SECRET = "xxx"; //这里填写您的 AccessKeySecret
  9. static String REGION_ID = "cn-xxx"; //这里填写期望集群所在的 region
  10. public static void main(String[] args) {
  11. BatchCompute client = new BatchComputeClient(REGION_ID, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
  12. try {
  13. ClusterDescription clusterDescription = getClusterDesc();
  14. CreateClusterResponse response = client.createCluster(clusterDescription);
  15. System.out.println(response);
  16. String clusterId = response.getClusterId();
  17. //创建成功
  18. System.out.println("Got cluster id:" + clusterId);
  19. } catch (ClientException e) {
  20. e.printStackTrace();
  21. //创建失败
  22. }
  23. }
  24. private static ClusterDescription getClusterDesc(){
  25. ClusterDescription desc = new ClusterDescription();
  26. desc.setName("cluster_test");
  27. desc.setImageId("img-ubuntu");
  28. desc.setDescription("demo");
  29. //cluster 的其他属性可以根据业务需要进行设置
  30. GroupDescription groupDesc = new GroupDescription();
  31. groupDesc.setDesiredVMCount(1);
  32. groupDesc.setInstanceType("ecs.s3.large");
  33. groupDesc.setResourceType("OnDemand");
  34. //groupDesc 的其他属性(如:竞价策略等)可以根据业务需要进行设置
  35. desc.addGroup("group1", groupDesc);
  36. return desc;
  37. }
  38. }

执行结果:

  1. {
  2. "Got cluster id": "cls-6kie8e833lnov8gg50k00i"
  3. }

注意点

以下的各点都在 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 来创建集群。