全部产品
Search
文档中心

:创建集群

更新时间:Apr 03, 2023

接口

接口名称: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 来创建集群。