すべてのプロダクト
Search
ドキュメントセンター

:クラスタの作成

最終更新日:Dec 28, 2024

メソッドの説明

クラスタを作成します。

パラメータの説明

パラメータ

タイプ

必須

説明

clusterDescription

ClusterDescription

はい

作成されるクラスタの説明

以下のクラスのパッケージ名はすべて com.aliyuncs.batchcompute.pojo.v20151111 です。

ClusterDescription の属性

すべての属性に getter メソッドと setter メソッドが使用できます。

属性

タイプ

必須

説明

name

String

はい

クラスタ名

description

String

いいえ

ジョブの簡単な説明

imageId

String

はい

ECS イメージ ID または登録済みイメージ ID を指定できます

groups

Map

はい

インスタンスグループ

instanceType

String

いいえ

クラスタ作成用のインスタンスタイプ。サポートされているインスタンスタイプはリージョンによって異なります

userData

Map

いいえ

ユーザーデータ

configs

Configs

いいえ

クラスタ構成(インスタンスのディスク構成など)。[Configs] で説明されています

notification

Notification

いいえ

通知設定。MNS のトピックまたはクラスタ関連イベントを設定できます

GroupDescription の属性

すべての属性に getter メソッドと setter メソッドが使用できます。

属性

タイプ

必須

説明

desiredVMCount

int

はい

起動するインスタンスの予想数

instanceType

String

はい

インスタンスタイプ

resourceType

String

いいえ

リソースのタイプ。現在、このパラメータはデフォルト値の OnDemand にのみ設定できます

SpotStrategy

String

はい

インスタンスのスポット戦略。ResourceType が Spot の場合にのみ有効になります。

オプション値を使用します:

SpotWithPriceLimit:スポットインスタンスの最大価格を設定します。

SpotAsPriceGo:システムが価格を自動的に提供し、最大値は従量課金制価格です

SpotPriceLimit

Float

いいえ

インスタンスの 1 時間あたりの最大価格。値には最大 3 つの小数を含めることができます。SpotStrategy が SpotWithPriceLimit の場合に有効になります

Notification の属性

すべての属性に getter メソッドと setter メソッドが使用できます。

属性

タイプ

必須

説明

topic

Topic

いいえ

メッセージトピック

Topic の属性

すべての属性に getter メソッドと setter メソッドが使用できます。

属性

タイプ

必須

説明

endpoint

String

はい

MNS リージョンの「エンドポイント」。形式は http://${your_user_id}.mns.${region}-internal.aliyuncs.com/ です。可能な限りイントラネットエンドポイントを使用してください

name

String

はい

トピックの名前

events

List<String>

はい

イベントのリスト。クラスタ関連イベントを入力してください

レスポンスの説明

クラスタが正常に作成されると、CreateClusterResponse インスタンスが返されます。response.getClusterId() を使用して、作成されたクラスタの名前を取得できます。

タイプ

説明

CreateClusterResponse

作成されたクラスタの ID を取得します

  • CreateClusterResponse パッケージ名は com.aliyuncs.batchcompute.model.v20151111 です。

  • 以下にリストされているその他のレスポンスはこのパッケージの下にあります。

  • 作成に失敗した場合、ClientException がスローされます。

サンプルコード

package com.aliyuncs.batchcompute.sample.v20151111;

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 {

    public static void main(String[] args) {

        BatchCompute client = new BatchComputeClient("cn-shenzhen", "your_access_id", "your_access_secret");

        try {
            ClusterDescription clusterDescription = getClusterDesc();

            CreateClusterResponse response = client.createCluster(clusterDescription);
            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");

        GroupDescription groupDesc = new GroupDescription();
        groupDesc.setDesiredVMCount(1);
        groupDesc.setInstanceType("ecs.s3.large");
        groupDesc.setResourceType("OnDemand");
        desc.addGroup("group1", groupDesc);

        return desc;
    }
}