全部產品
Search
文件中心

:建立叢集

更新時間:Jul 06, 2024

建立一個 BatchCompute 叢集。

請求文法

請求行:

POST /clusters?IdempotentToken=vU7xaM9YCqqAFHAVvRVynoMBZSgD0MPn HTTP/1.1

要求方法為 POST ,請求資源為 clusters ,參數說明如下:

屬性名稱類型是否必須描述
IdempotentTokenstring用於保證請求的等冪性。由使用者產生該參數值,要保證在不同請求間唯一,最大不值過64個字元,字元包括了字母、數字以及底線。

請求資料:

請求資料以 JSON 格式描述:

{
    "Name": "test-cluster",
    "Description": "demo",
    "InstanceType": "ecs.sn1ne.large",
    "ImageId": "img-ubuntu",
    "Bootstrap": "",
    "UserData": {
        "key2": "value2",
        "key1": "value1"
    },
    "EnvVars": {
        "key3": "value3",
        "key4": "value4"
    },
    "Notification": {
        "Topic": {
            "Name": "test-topic",
            "Endpoint": "http://[UserId].mns.[Region].aliyuncs.com/",
            "Events": [
                "OnClusterDeleted",
                "OnInstanceCreated",
                "OnInstanceActive"
            ]
        }
    },
    "Groups": {
        "group1": {
            "DesiredVMCount": 3,
            "InstanceType": "",
            "ResourceType": "OnDemand",
            "SpotStrategy": "",
            "SpotPriceLimit": 0.0
        }
    },
    "Configs": {
        "Disks": {
            "SystemDisk": {
                "Type": "cloud_efficiency",
                "Size": 50
            },
            "DataDisk": {
                "Type": "cloud_efficiency",
                "Size": 500,
                "MountPoint": "/home/my-data-disk"
            }
        },
        "Mounts": {
            "Locale": "GBK",
            "Lock": false,
            "CacheSupport": true,
            "CacheBlockSize": 262144,
            "CacheTotalSize": 536870912,
            "OSS": {
                "AccessKeyId": "[OSS Access Key Id]",
                "AccessKeySecret": "[OSS Access Key Id Secret]",
                "SecurityToken": ""
            },
            "Entries": [
                {
                    "Source": "nas://26a174a62f-sfi98.cn-shenzhen.nas.aliyuncs.com:/",
                    "Destination": "/home/admin/mydir1/",
                    "WriteSupport": true
                },
                {
                    "Source": "oss://my-test-bk/",
                    "Destination": "/home/admin/mydir3/",
                    "WriteSupport": false
                }
            ]
        },
        "Networks": {
            "VPC": {
                "VpcId": "[Your vpc id]",
                "CidrBlock": "192.168.0.0/16"
            },
            "Classic": {
                "AllowIpAddress": [],
                "AllowIpAddressEgress": [],
                "AllowSecurityGroup": [],
                "AllowSecurityGroupEgress": []
            }
        }
    }
}

屬性說明:

屬性名稱類型是否必須描述
Namestring叢集名稱。長度為[2, 128]個英文或中文字元。必須以大小字母或中文開頭,不能以 http:// 和https:// 開頭。可以包含數字、半形冒號(:)、底線(_)或者連字號(-)。
Descriptionstring叢集的描述資訊。長度為[2, 256]個英文或中文字元。必須以大小字母或中文開頭,不能以 http:// 和 https:// 開頭。可以包含數字、半形冒號(:)、底線(_)或者連字號(-)
InstanceTypestring構建叢集的執行個體類型。目前支援的ECS執行個體類型參閱 執行個體類型
ImageIdstring鏡像標識符。您可以使用官方定義的或自訂的鏡像。可以通過 擷取鏡像列表擷取您可使用的所有鏡像標識符。
DependencyIsvServicestring執行程式依賴的阿里雲提供的ISV服務,目前提供的ISV服務有:GTX,預設為空白不依賴任何ISV服務。
Bootstrapstring執行個體啟動啟動並執行命令。您可以指定Bootstrap來初始化您的環境。Bootstrap 與 JOB 指定的程式運行命令有區別,JOB指定的程式是用來運行您的作業。
UserDatamap<string, string>使用者自訂的資訊,您可以定義 map 的 key 和 value 值。使用者程式使用 ECS 的 user server 擷取。
EnvVarsmap<string, string>虛擬機器的環境變數,您可以定義 map 的 key 和 value 值。使用者程式從環境變數中擷取。
Groupsmap<string, object>叢集的執行個體組群資訊。key 是您自訂的 group name, value 是 GroupDesc 類型。 一個叢集可以包含多個執行個體組,執行個體組有數量限制,參閱 使用者限額
Notificationobject使用者指定訊息通知配置。
Configsobject叢集的一些配置資訊,比如執行個體的磁碟配置、網路和掛載路徑。

返回資訊

成功

狀態行:

HTTP/1.1 201 Created

響應資料:

{
    "Id":"cls-6ki3sg6sqlno7nt8fu0007"
}

屬性說明:

屬性名稱類型是否必須描述
Idstring作業標識符。每個叢集都有唯一的叢集標識符,你需要通過叢集標識符來管理您的叢集。

錯誤

錯誤響應格式請參閱 返回結果

建立叢集特有的錯誤碼:

狀態代碼錯誤碼錯誤資訊語義
400IdempotentTokenMismatchSpecified idempotent token mismatch.說明該token已經被使用過,並且該請求參數與之前的請求不一樣。
400InvalidJsonFormatThe request body has an invalid json format.請求body是一個非法的JSON格式。
400InvalidHttpBodySpecified parameter HttpBody is not valid. Its type must be object.http body必須是一個object。
400MissingNameName is mandatory for this action.缺少Name參數。
400MissingConfigs.Networks.VPC.OppositeRouterIdConfigs.Networks.VPC.OppositeRouterId is mandatory for this action.缺少Configs.Networks.VPC.OppositeRouterId參數。
400MissingConfigs.Networks.VPC.OppositeAccessPointIdConfigs.Networks.VPC.OppositeAccessPointId is mandatory for this action.缺少Configs.Networks.VPC.OppositeAccessPointId參數。
400MissingConfigs.Networks.VPC.OppositeRegionIdConfigs.Networks.VPC.OppositeRegionId is mandatory for this action.缺少Configs.Networks.VPC.OppositeRegionId參數。
400InvalidNameSpecified parameter Name is not valid. Its type must be string.Name必須是一個string。
400InvalidNameSpecified parameter Name is not valid. Its length must be in [1, 64].Name的長度必須在1與64之間。
400InvalidNameSpecified parameter Name is not valid. It must only contain characters within [a-zA-Z0-9_-], and must not start with [0-9].Name中只能包括字母數字和_-,但不能以數字開頭。
400InvalidDescriptionSpecified parameter Description is not valid. Its type must be string.Description必須是一個string。
400InvalidDescriptionSpecified parameter Description is not valid. Its length must be in [0, 1024].Description的長度必須在0與1024之間。
400MissingImageIdImageId is mandatory for this action.缺少ImageId參數。
400InvalidImageIdSpecified parameter ImageId is not valid. Its type must be string.ImageId必須是一個string。
400InvalidImageIdSpecified parameter ImageId is not valid. Its length must be in [1, 256].ImageId的長度必須在1與256之間。
400InvalidUserDataSpecified parameter UserData is not valid. Its type must be object.UserData必須是一個object。
400InvalidUserDataSpecified parameter UserData is not valid. Its size must be in [0, 64].UserData的大小必須在0與64之間。
400InvalidUserData.{key}Specified parameter UserData.{key} is not valid. Its length must be in [1, 128].UserData.{key}的大小必須在1與128之間。
400InvalidUserData.{key}.valueSpecified parameter UserData.{key}.value is not valid. Its type must be string.UserData.{key}對應的Value必須是一個string。
400InvalidUserData.{key}.valueSpecified parameter UserData.{key}.value is not valid. Its length must be in [0, 1024].UserData.{key}對應的value的長度必須在0與1024之間。
400InvalidGroupsSpecified parameter Groups is not valid. Its type must be object.Groups必須是一個object。
400InvalidGroups.{key}Specified parameter Groups.{key} is not valid. Its type must be object.Groups.{key}必須是一個object。
400InvalidGroups.{key}Specified parameter Groups.{key} is not valid. Its size must be in [1, 64].Groups.{key}的大小必須在1與64之間。
400MissingDesiredVMCountDesiredVMCount is mandatory for this action.缺少DesiredVMCount參數。
400InvalidDesiredVMCountSpecified parameter DesiredVMCount is not valid. Its type must be integer.DesiredVMCount必須是一個integer。
400InvalidDesiredVMCountSpecified parameter DesiredVMCount is not valid. It must be in [1, 65536].DesiredVMCount的大小必須在1與65536之間。
400InvalidCidrBlockSpecified parameter CidrBlock is not valid. Configs.Networks.VPC.CidrBlock is not valid.無效的CidrBlock。
403QuotaExhausted.MaxClusterCountThe MaxClusterCount ({value}) quota is exhausted.Cluster數量不能超過{value}。
403QuotaExhausted.MaxClusterGroupCountThe MaxClusterGroupCount ({value}) quota is exhausted.一個Cluster中的Group的數量不能超過{value}。
403QuotaExhausted.MaxClusterGroupDesiredVMCountThe MaxClusterGroupDesiredVMCount ({value}) quota is exhausted.一個Cluster中的一個Group的DesiredVMCount不能超過{value}。
403QuotaExhausted.Configs.Networks.VPC.OppositeRouterTypeThe Configs.Networks.VPC.OppositeRouterType ({value}) is forbidden.Configs.Networks.VPC.OppositeRouterType不允許取值{value}。
400MissingInstanceTypeInstanceType is mandatory for this action.缺少InstanceType參數。
400InvalidInstanceTypeSpecified parameter InstanceType is not valid.InstanceType參數取值不合法。
400MissingResourceTypeResourceType is mandatory for this action.缺少ResourceType參數。
400InvalidResourceTypeSpecified parameter ResourceType is not valid.ResourceType參數取值不合法。
400Invalid{Parameter}Specified parameter {Parameter} is not valid.{Parameter}參數不合法。