ALIYUN::EHPC::ClusterV2 is used to create a cluster in Elastic High Performance Computing (E-HPC) of the new version.
Syntax
{
"Type": "ALIYUN::EHPC::ClusterV2",
"Properties": {
"ClusterName": String,
"SharedStorages": List,
"VSwitchId": String,
"VpcId": String,
"AdditionalPackages": List,
"Addons": List,
"ClusterCredentials": Map,
"ClusterMode": String,
"ClusterCategory": String,
"ClientVersion": String,
"ClusterCustomConfiguration": Map,
"ClusterDescription": String,
"DeletionProtection": Boolean,
"IsEnterpriseSecurityGroup": Boolean,
"MaxCount": Integer,
"Manager": Map,
"MaxCoreCount": Integer,
"Queues": List,
"ResourceGroupId": String,
"SecurityGroupId": String,
"Tags": List
}
}Properties
Property | Type | Required | Editable | Description | Constraint |
ClusterName | String | Yes | Yes | The name of the cluster. | The name must be 2 to 128 characters in length and can contain letters, digits, hyphens (-), and underscores (_). |
SharedStorages | List | Yes | No | The shared storage configurations of the cluster. | For more information, see SharedStorages properties. |
VSwitchId | String | Yes | No | The ID of the vSwitch that you want to use for the cluster. | None. |
VpcId | String | Yes | No | The ID of the virtual private cloud (VPC) in which the cluster resides. | None. |
AdditionalPackages | List | No | No | The configurations of software that you want to install in the cluster. | You can specify up to 10 sets of software configurations. For more information, see AdditionalPackages properties. |
Addons | List | No | No | The custom addon configurations of the cluster. | Only one addon is supported. For more information, see Addons properties. |
ClusterCredentials | Map | No | No | The security credentials of the cluster. | For more information, see ClusterCredentials properties. |
ClusterMode | String | No | No | The deployment mode of the cluster. | Valid values:
|
ClusterCategory | String | No | No | The edition of the cluster. | Valid values:
|
ClientVersion | String | No | Yes | The client version of the cluster. | By default, the latest version is used. |
ClusterCustomConfiguration | Map | No | Yes | The post-processing script of the cluster. | For more information, see ClusterCustomConfiguration properties. |
ClusterDescription | String | No | Yes | The description of the cluster. | The description must be 2 to 128 characters in length and can contain letters, digits, hyphens (-), and underscores (_). |
DeletionProtection | Boolean | No | Yes | Specifies whether to enable the deletion protection feature for the cluster. | Valid values:
|
IsEnterpriseSecurityGroup | Boolean | No | No | Specifies whether to use an advanced security group. | Valid values:
|
MaxCount | Integer | No | Yes | The maximum number of compute nodes that the cluster can manage. | Valid values: 0 to 5000. |
Manager | Map | No | No | The management node configurations of the cluster. | For more information, see Manager properties. |
MaxCoreCount | Integer | No | Yes | The maximum number of vCPUs that can be used by compute nodes in the cluster. | Valid values: 0 to 100000. |
Queues | List | No | No | The queues in the cluster. | You can configure up to eight queues. For more information, see Queues properties. |
ResourceGroupId | String | No | No | The ID of the resource group. | None. |
SecurityGroupId | String | No | No | The ID of the security group to which the cluster belongs. | None. |
Tags | List | No | Yes | The tags of the cluster. | For more information, see Tags properties. |
ClusterCredentials syntax
"ClusterCredentials": {
"KeyPairName": String,
"Password": String
}ClusterCredentials properties
Property | Type | Required | Editable | Description | Constraint |
KeyPairName | String | No | No | The name of the key pair. | The name must be 2 to 128 characters in length. It must start with a letter and cannot start with |
Password | String | No | No | The password for the root user to log on to the node. | The password must be 8 to 20 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include |
AdditionalPackages syntax
"AdditionalPackages": [
{
"Version": String,
"Name": String
}
]AdditionalPackages properties
Property | Type | Required | Editable | Description | Constraint |
Version | String | Yes | No | The version of the software to be installed. | None. |
Name | String | Yes | No | The name of the software to be installed. | None. |
Addons syntax
"Addons": [
{
"Version": String,
"ServicesSpec": String,
"ResourcesSpec": String,
"Name": String
}
]Addons properties
Property | Type | Required | Editable | Description | Constraint |
Version | String | Yes | No | The version of the addon. | None. |
ServicesSpec | String | No | No | The service configurations of the addon. | Example: |
ResourcesSpec | String | No | No | The resource configurations of the addon. | Example: |
Name | String | Yes | No | The name of the addon. | None. |
Manager syntax
"Manager": {
"ManagerNode": Map,
"Scheduler": Map,
"DNS": Map,
"DirectoryService": Map
}Manager properties
Property | Type | Required | Editable | Description | Constraint |
ManagerNode | Map | No | No | The hardware configurations of the management node. | For more information, see ManagerNode properties. |
Scheduler | Map | No | No | The configurations of the scheduler service. | For more information, see Scheduler properties. |
DNS | Map | No | No | The configurations of the domain name resolution (DNS) service. | For more information, see DNS properties. |
DirectoryService | Map | No | No | The configurations of the domain account service. | For more information, see DirectoryService properties. |
ManagerNode syntax
"ManagerNode": {
"SystemDisk": Map,
"AutoRenewPeriod": Integer,
"EnableHT": Boolean,
"DataDisks": List,
"InstanceChargeType": String,
"AutoRenew": Boolean,
"ImageId": String,
"Period": Integer,
"InstanceType": String,
"PeriodUnit": String
}ManagerNode properties
Property | Type | Required | Editable | Description | Constraint |
SystemDisk | Map | Yes | No | The system disk configurations of the node. | For more information, see SystemDisk properties. |
AutoRenewPeriod | Integer | No | No | The auto-renewal period. | Valid values:
Default value: 1. |
EnableHT | Boolean | No | No | Specifies whether to enable the hyper-threading feature for the node. | Valid values:
|
DataDisks | List | No | No | The data disks. | For more information, see DataDisks properties. You can configure up to 16 data disks, indicated by N. |
InstanceChargeType | String | No | No | The billing method of the node. | Valid values:
Default value: PostPaid. |
AutoRenew | Boolean | No | No | Specifies whether to enable auto-renewal. | This property takes effect only when InstanceChargeType is set to PrePaid. Valid values:
|
ImageId | String | Yes | No | The ID of the image. | None. |
Period | Integer | No | No | The subscription duration of the node. | The unit of the subscription duration of the node is specified by PeriodUnit. Period must be specified only when InstanceChargeType is set to PrePaid. If DedicatedHostId is specified, the subscription duration of the node must be no longer than the subscription duration of the dedicated host. Valid values of Period:
|
InstanceType | String | Yes | No | The instance type of the Elastic Compute Service (ECS) instance. | None. |
PeriodUnit | String | No | No | The unit of the subscription duration. | Valid values:
|
SystemDisk syntax
"SystemDisk": {
"Category": String,
"Size": Integer,
"Level": String
}SystemDisk properties
Property | Type | Required | Editable | Description | Constraint |
Category | String | Yes | No | The category of the system disk. | Valid values:
|
Size | Integer | Yes | No | The size of the system disk. | Unit: GiB. Valid values:
|
Level | String | No | No | The performance level (PL) of the ESSD. | Valid values:
|
DataDisks syntax
"DataDisks": [
{
"Category": String,
"Size": Integer,
"DeleteWithInstance": Boolean,
"Level": String,
"MountDir": String
}
]DataDisks properties
Property | Type | Required | Editable | Description | Constraint |
Category | String | Yes | No | The category of the data disk. | Valid values:
|
Size | Integer | Yes | No | The size of the data disk. | Unit: GiB. Valid values:
|
DeleteWithInstance | Boolean | No | No | Specifies whether to release the data disk when the instance is released. | Valid values:
Default value: true. |
Level | String | No | No | The PL of the ESSD. | Valid values:
|
MountDir | String | No | No | The mount directory of the data disk. | The mount directory must start with a forward slash (/). |
Scheduler syntax
"Scheduler": {
"Type": String,
"Version": String
}Scheduler properties
Property | Type | Required | Editable | Description | Constraint |
Type | String | No | No | The type of the scheduler service. | Valid values:
|
Version | String | No | No | The version of the scheduler service. | None. |
DNS syntax
"DNS": {
"Type": String,
"Version": String
}DNS properties
Property | Type | Required | Editable | Description | Constraint |
Type | String | No | No | The type of the DNS service. | Set the value to NIS. |
Version | String | No | No | The version of the DNS service. | None. |
DirectoryService syntax
"DirectoryService": {
"Type": String,
"Version": String
}DirectoryService properties
Property | Type | Required | Editable | Description | Constraint |
Type | String | No | No | The type of the domain account service. | Set the value to NIS. |
Version | String | No | No | The version of the domain account service. | None. |
SharedStorages syntax
"SharedStorages": [
{
"MountDirectory": String,
"MountTargetDomain": String,
"ProtocolType": String,
"FileSystemId": String,
"MountOptions": String,
"NASDirectory": String
}
]SharedStorages properties
Property | Type | Required | Editable | Description | Constraint |
FileSystemId | String | Yes | No | The ID of the file system to be mounted. | None. |
MountTargetDomain | String | Yes | No | The mount point address of the file system to be mounted. | None. |
MountDirectory | String | No | No | The local mount directory of the file system to be mounted. | None. |
MountOptions | String | No | No | The storage mount options of the file system to be mounted. | None. |
NASDirectory | String | No | No | The remote mount directory of the file system to be mounted. | None. |
ProtocolType | String | No | No | The protocol type of the file system to be mounted. | Valid values:
|
ClusterCustomConfiguration syntax
"ClusterCustomConfiguration": {
"Script": String,
"Args": String
}ClusterCustomConfiguration properties
Property | Type | Required | Editable | Description | Constraint |
Args | String | No | Yes | The execution parameters of the post-processing script after the cluster is installed. | None. |
Script | String | No | Yes | The download address of the post-processing script after the cluster is installed. | None. |
Queues syntax
"Queues": [
{
"VSwitchIds": List,
"ComputeNodes": List,
"InterConnect": String,
"MaxCount": Integer,
"KeepAliveNodes": List,
"HostnamePrefix": String,
"AllocationStrategy": String,
"EnableScaleIn": Boolean,
"MaxCountPerCycle": Integer,
"HostnameSuffix": String,
"RamRole": String,
"EnableScaleOut": Boolean,
"QueueName": String,
"InitialCount": Integer,
"MinCount": Integer
}
]Queues properties
Property | Type | Required | Editable | Description | Constraint |
QueueName | String | Yes | No | The name of the queue. | The name must be 1 to 15 characters in length and can contain letters, digits, and periods (.). |
AllocationStrategy | String | No | No | The automatic scale-out policy for the queue. | None. |
ComputeNodes | List | No | No | The hardware configurations of the compute nodes in the queue. | You can specify up to 10 sets of hardware configurations. For more information, see ComputeNodes properties. |
EnableScaleIn | Boolean | No | No | Specifies whether to enable the automatic scale-in feature for the queue. | Valid values:
|
EnableScaleOut | Boolean | No | No | Specifies whether to enable the automatic scale-out feature for the queue. | Valid values:
|
HostnamePrefix | String | No | No | The hostname prefix of the compute nodes in the queue. | None. |
HostnameSuffix | String | No | No | The hostname suffix of the compute nodes in the queue. | None. |
InterConnect | String | No | No | The network type between the compute nodes in the queue. | Valid values:
|
InitialCount | Integer | No | No | The initial number of compute nodes in the queue. | Valid values: 0 to 5000. |
KeepAliveNodes | List | No | No | The nodes for which the deletion protection feature is enabled in the queue. | Valid values: 0 to 5000. |
MaxCount | Integer | No | No | The maximum number of compute nodes that the queue can contain. | Valid values: 0 to 5000. |
MaxCountPerCycle | Integer | No | No | The maximum number of compute nodes that can be added to the queue in each scale-out operation. | Valid values: 0 to 5000. |
MinCount | Integer | No | No | The minimum number of compute nodes that the queue must contain. | Valid values: 0 to 5000. |
RamRole | String | No | No | The Resource Access Management (RAM) role that is attached to the compute nodes in the queue. | None. |
VSwitchIds | List | No | No | The available vSwitches for the compute nodes in the queue. | You can configure up to five vSwitches. |
ComputeNodes syntax
"ComputeNodes": [
{
"SystemDisk": Map,
"EnableHT": Boolean,
"DataDisks": List,
"ImageId": String,
"SpotPriceLimit": Number,
"Duration": Integer,
"InstanceType": String,
"SpotStrategy": String
}
]ComputeNodes properties
Property | Type | Required | Editable | Description | Constraint |
ImageId | String | Yes | No | The ID of the image. | None. |
InstanceType | String | Yes | No | The instance type of the ECS instance. | None. |
SystemDisk | Map | Yes | No | The system disk configurations of the node. | For more information, see SystemDisk properties. |
DataDisks | List | No | No | The data disks. | You can configure up to 16 data disks. For more information, see DataDisks properties. |
Duration | Integer | No | No | The protection period of a preemptible instance. | Unit: hour. Default value: 1. Valid values:
Alibaba Cloud sends an ECS system event to notify you 5 minutes before the instance is released. You are charged for preemptible instances on a second basis. We recommend that you specify an appropriate protection period based on your business requirements. |
EnableHT | Boolean | No | No | Specifies whether to enable the hyper-threading feature for the node. | Valid values:
|
SpotPriceLimit | Number | No | No | The maximum hourly price of an instance. | The value of this property can contain up to three decimal places. This property takes effect when SpotStrategy is set to SpotWithPriceLimit. |
SpotStrategy | String | No | No | The bidding policy for a pay-as-you-go instance. | This property takes effect when InstanceChargeType is set to PostPaid. Valid values:
Default value: NoSpot. |
Tags syntax
"Tags": [
{
"Value": String,
"Key": String
}
]Tags properties
Property | Type | Required | Editable | Description | Constraint |
Key | String | Yes | No | The key of the tag. | None. |
Value | String | No | No | The value of the tag. | None. |
Return values
Fn::GetAtt
ClusterId: the ID of the cluster.
Examples
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VSwitchId:
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
Type: String
Description:
en: The ID of the VSwitch used by the cluster
Required: true
SharedStorages:
AssociationPropertyMetadata:
Parameters:
MountDirectory:
Type: String
Description:
en: The local mount directory to mount the file system.
Required: false
MountTargetDomain:
Type: String
Description:
en: The mount target domain of the file system.
Required: true
ProtocolType:
Type: String
Description:
en: 'The protocol type of the file system. Valid values: NFS, SMB.'
AllowedValues:
- NFS
- SMB
Required: false
FileSystemId:
Type: String
Description:
en: The ID of the file system.
Required: true
MountOptions:
Type: String
Description:
en: The mount options of the file system.
Required: false
NASDirectory:
Type: String
Description:
en: Mounted filesystems require mounted remote directories.
Required: false
AssociationProperty: List[Parameters]
Type: Json
Description:
en: The list of shared storage configurations.
Required: true
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
en: The ID of the VPC used by the cluster.
Required: true
ClusterName:
Type: String
Description:
en: Cluster name. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_).
Required: true
MinLength: 2
MaxLength: 128
Resources:
ClusterV2:
Type: ALIYUN::EHPC::ClusterV2
Properties:
VSwitchId:
Ref: VSwitchId
SharedStorages:
Ref: SharedStorages
VpcId:
Ref: VpcId
ClusterName:
Ref: ClusterName
Outputs:
ClusterId:
Description: Cluster Id.
Value:
Fn::GetAtt:
- ClusterV2
- ClusterId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VSwitchId": {
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"Type": "String",
"Description": {
"en": "The ID of the VSwitch used by the cluster"
},
"Required": true
},
"SharedStorages": {
"AssociationPropertyMetadata": {
"Parameters": {
"MountDirectory": {
"Type": "String",
"Description": {
"en": "The local mount directory to mount the file system."
},
"Required": false
},
"MountTargetDomain": {
"Type": "String",
"Description": {
"en": "The mount target domain of the file system."
},
"Required": true
},
"ProtocolType": {
"Type": "String",
"Description": {
"en": "The protocol type of the file system. Valid values: NFS, SMB."
},
"AllowedValues": [
"NFS",
"SMB"
],
"Required": false
},
"FileSystemId": {
"Type": "String",
"Description": {
"en": "The ID of the file system."
},
"Required": true
},
"MountOptions": {
"Type": "String",
"Description": {
"en": "The mount options of the file system."
},
"Required": false
},
"NASDirectory": {
"Type": "String",
"Description": {
"en": "Mounted filesystems require mounted remote directories."
},
"Required": false
}
}
},
"AssociationProperty": "List[Parameters]",
"Type": "Json",
"Description": {
"en": "The list of shared storage configurations."
},
"Required": true
},
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"en": "The ID of the VPC used by the cluster."
},
"Required": true
},
"ClusterName": {
"Type": "String",
"Description": {
"en": "Cluster name. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_)."
},
"Required": true,
"MinLength": 2,
"MaxLength": 128
}
},
"Resources": {
"ClusterV2": {
"Type": "ALIYUN::EHPC::ClusterV2",
"Properties": {
"VSwitchId": {
"Ref": "VSwitchId"
},
"SharedStorages": {
"Ref": "SharedStorages"
},
"VpcId": {
"Ref": "VpcId"
},
"ClusterName": {
"Ref": "ClusterName"
}
}
}
},
"Outputs": {
"ClusterId": {
"Description": "Cluster Id.",
"Value": {
"Fn::GetAtt": [
"ClusterV2",
"ClusterId"
]
}
}
}
}