ALIYUN::EHPC::Cluster se usa para crear un clúster de Elastic High Performance Computing (E-HPC).
Sintaxis
{
"Type": "ALIYUN::EHPC::Cluster",
"Properties": {
"EcsOrderComputeCount": Integer,
"OsTag": String,
"HaEnable": Boolean,
"VolumeType": String,
"VolumeId": String,
"EcsOrderManagerCount": Integer,
"EcsOrderManagerInstanceType": String,
"EcsOrderComputeInstanceType": String,
"Application": List,
"KeyPairName": String,
"PeriodUnit": String,
"Description": String,
"AutoRenewPeriod": Integer,
"JobQueue": String,
"ImageId": String,
"AutoRenew": Boolean,
"EhpcVersion": String,
"VSwitchId": String,
"Password": String,
"Name": String,
"SchedulerType": String,
"SccClusterId": String,
"EcsChargeType": String,
"ZoneId": String,
"EcsOrderLoginCount": Integer,
"DeployMode": String,
"ImageOwnerAlias": String,
"RemoteDirectory": String,
"ComputeSpotPriceLimit": String,
"ComputeSpotStrategy": String,
"SecurityGroupName": String,
"KeyPairName": String,
"VolumeProtocol": String,
"SecurityGroupId": String,
"Period": Integer,
"PostInstallScript": List,
"AccountType": String,
"VolumeMountpoint": String,
"EcsOrderLoginInstanceType": String,
"SystemDiskLevel": String,
"IsComputeEss": Boolean,
"SystemDiskSize": Integer,
"SystemDiskType": String,
"AdditionalVolumes": List,
"RemoteVisEnable": Boolean,
"InputFileUrl": String,
"WithoutElasticIp": Boolean,
"ResourceGroupId": String,
"ClientVersion": String,
"ComputeEnableHt": Boolean,
"RamNodeTypes": List,
"VpcId": String,
"RamRoleName": String,
"NetworkInterfaceTrafficMode": String
}
}
Propiedades
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
EcsOrderComputeCount | Integer | Sí | No | Número de nodos de computación en el clúster. | Valores válidos: 1 a 99. |
OsTag | String | No | No | Etiqueta de la imagen del sistema operativo. | Ejemplo: CentOS_7.2_64. |
HaEnable | Boolean | No | No | Indica si se debe habilitar la función de alta disponibilidad. | Valores válidos:
|
VolumeType | String | No | No | Tipo de almacenamiento compartido. | Establezca el valor en NAS. El valor NAS especifica un sistema de archivos File Storage NAS (NAS). |
KeyPairName | String | No | No | Nombre del key pair. | Debe especificar una de las propiedades Password o KeyPairName. Si especifica ambas, la propiedad Password tiene mayor prioridad. |
VolumeId | String | No | No | ID del sistema de archivos NAS. | Ninguna. |
EcsOrderManagerCount | Integer | No | No | Número de nodos de administración en el clúster. | Valores válidos:
|
EcsOrderManagerInstanceType | String | Sí | No | Tipo de instancia de los nodos de administración en el clúster. | Ninguna. |
Application | List | No | No | Software. | Para más información, consulte Application property. |
EcsOrderComputeInstanceType | String | Sí | No | Tipo de instancia de los nodos de computación en el clúster. | Ninguna. |
PeriodUnit | String | No | No | Ciclo de facturación de los nodos en el clúster. | Valores válidos:
|
Description | String | No | Sí | Descripción del clúster. | La descripción debe tener entre 2 y 128 caracteres. |
AutoRenewPeriod | Integer | No | No | Periodo de renovación automática. | Esta propiedad surte efecto cuando AutoRenew se establece en true. |
JobQueue | String | No | No | Cola a la que desea agregar los nodos de computación. | Ninguna. |
ImageId | String | No | Sí | ID de la imagen. | Debe especificar esta propiedad cuando ImageOwnerAlias se establece en self, others o marketplace. Nota Si establece ImageOwnerAlias en system, el ID de la imagen base varía únicamente según el valor de OsTag. |
AutoRenew | Boolean | No | No | Indica si se debe habilitar la renovación automática. | Valores válidos:
|
EhpcVersion | String | No | No | Versión de E-HPC. | De forma predeterminada, se usa la versión más reciente. |
VSwitchId | String | Sí | No | ID del vSwitch. | E-HPC solo admite redes de tipo virtual private cloud (VPC). |
Password | String | No | No | Contraseña root del nodo de inicio de sesión. | La contraseña debe tener entre 8 y 30 caracteres. Debe contener como mínimo tres de los siguientes tipos de caracteres: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. Se admiten los siguientes caracteres especiales: Debe especificar una de las propiedades Password o KeyPairName. Si especifica ambas, la propiedad Password tiene mayor prioridad. |
Name | String | Sí | Sí | Nombre del clúster. | El nombre debe tener entre 2 y 64 caracteres y comenzar con una letra. Puede contener letras, dígitos, guiones (-) y guiones bajos (_). |
SchedulerType | String | No | No | Tipo de programador. | Valores válidos:
|
SccClusterId | String | No | No | ID de la instancia de Super Computing Cluster (SCC). | Si especifica esta propiedad, la instancia SCC existente se gestiona en un nuevo clúster SCC. |
EcsChargeType | String | No | No | Método de facturación de las instancias de Elastic Compute Service (ECS) en el clúster. | Valores válidos:
|
ZoneId | String | No | No | ID de la zona. | Ninguna. |
EcsOrderLoginCount | Integer | Sí | No | Número de nodos de inicio de sesión en el clúster. | Valores válidos: 1 a 99. |
DeployMode | String | No | No | Modo de despliegue. | Valores válidos:
|
ImageOwnerAlias | String | No | Sí | Tipo de imagen. | Valores válidos:
|
RemoteDirectory | String | No | No | Directorio remoto donde se monta el sistema de archivos NAS. | La ruta de montaje consta del destino de montaje y el directorio remoto con el siguiente formato: |
ComputeSpotPriceLimit | String | No | No | Precio máximo por hora para el nodo de computación. | El valor de esta propiedad es un número de punto flotante dentro del rango de precios vigente al momento de la compra. |
ComputeSpotStrategy | String | No | No | Política de puja para el nodo de computación. | Valores válidos:
|
SecurityGroupName | String | No | No | Nombre del security group. | Si no usa un security group existente, el sistema crea uno nuevo basado en el valor de esta propiedad. Al nuevo security group se le aplica la política predeterminada. |
VolumeProtocol | String | No | No | Tipo de protocolo que usa el sistema de archivos NAS. | Valores válidos:
|
SecurityGroupId | String | No | No | ID del security group. | Ninguna. |
Period | Integer | No | No | Duración de la suscripción de los nodos en el clúster. | Debe especificar esta propiedad cuando EcsChargeType se establece en PrePaid. |
PostInstallScript | List | No | No | URL de descarga y parámetros de ejecución del script. | Puede especificar hasta 16 conjuntos de URL de descarga y parámetros de ejecución. Para más información, consulte PostInstallScript properties. |
AccountType | String | No | No | Tipo de servicio de cuenta de dominio. | Valores válidos:
|
VolumeMountpoint | String | No | No | Destino de montaje del sistema de archivos NAS. El destino de montaje es de tipo VPC. | El valor de esta propiedad varía según el valor de VolumeId:
|
EcsOrderLoginInstanceType | String | Sí | No | Tipo de instancia de los nodos de inicio de sesión en el clúster. | Ninguna. |
SystemDiskLevel | String | No | No | Nivel de rendimiento (PL) del disco SSD mejorado (ESSD) que desea usar como disco del sistema. | Valores válidos:
|
IsComputeEss | Boolean | No | No | Indica si se debe habilitar el escalado automático. | Valores válidos:
|
SystemDiskSize | Integer | No | No | Tamaño del disco del sistema. | Valores válidos: 40 a 500. Unidad: GB. Valor predeterminado: 40. |
SystemDiskType | String | No | No | Categoría del disco del sistema. | Valores válidos:
|
AdditionalVolumes | List | No | No | Detalles del sistema de archivos NAS montado. | Para más información, consulte AdditionalVolumes properties. |
RemoteVisEnable | Boolean | No | No | Indica si se debe habilitar Virtual Network Computing (VNC) para gestionar un servicio de visualización. | Valores válidos:
|
InputFileUrl | String | No | No | URL del archivo de trabajo cargado en un bucket de Object Storage Service (OSS). | Ejemplo: |
WithoutElasticIp | Boolean | No | No | Indica si se debe usar una dirección IP elástica (EIP) para los nodos de inicio de sesión. | Valores válidos:
|
ResourceGroupId | String | No | No | ID del resource group. | Ninguna. |
ClientVersion | String | No | No | Versión del cliente usado para el clúster. | De forma predeterminada, se usa la versión más reciente. |
ComputeEnableHt | Boolean | No | No | Indica si se debe habilitar hyper-threading para los nodos de computación. | Valores válidos:
|
RamNodeTypes | List | No | Sí | Detalles del tipo de nodo del rol de Resource Access Management (RAM) para la instancia. | Ninguna. |
VpcId | String | No | No | ID de la VPC a la que pertenece el clúster. | Puede llamar a la operación DescribeVpcs para consultar las VPC disponibles. |
RamRoleName | String | No | Sí | Nombre del rol RAM de la instancia. | Puede llamar a la operación ListRoles de RAM para consultar los roles RAM de instancia disponibles. |
NetworkInterfaceTrafficMode | String | No | No | Modo de comunicación de la elastic network interface (ENI). | Valores válidos:
|
Sintaxis de Application
"Application": [
{
"Tag": String
}
]
Propiedad de Application
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Tag |
String |
Sí |
No |
Etiqueta del software. |
Ejemplo: OpenMPI_11.1. |
Sintaxis de PostInstallScript
"PostInstallScript": [
{
"Url": String,
"Args": String
}
]
Propiedades de PostInstallScript
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Url |
String |
No |
No |
URL usada para descargar el script después de crear el clúster. |
Ninguna. |
|
Args |
String |
No |
No |
Parámetros de ejecución del script después de crear el clúster. |
Ninguna. |
Sintaxis de AdditionalVolumes
"AdditionalVolumes": [
{
"RemoteDirectory": String,
"Location": String,
"VolumeId": String,
"LocalDirectory": String,
"VolumeProtocol": String,
"JobQueue": String,
"VolumeType": String,
"VolumeMountpoint": String
}
]
Propiedades de AdditionalVolumes
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
RemoteDirectory | String | No | No | Directorio remoto donde se monta el sistema de archivos NAS. | Ninguna. |
Location | String | No | No | Tipo de clúster. | Establezca el valor en PublicCloud. |
VolumeId | String | Sí | No | ID del sistema de archivos NAS. | Ninguna. |
LocalDirectory | String | Sí | No | Directorio local donde se monta el sistema de archivos NAS. | Ninguna. |
VolumeProtocol | String | No | No | Tipo de protocolo que usa el sistema de archivos NAS. | Valores válidos:
|
JobQueue | String | No | No | Cola a la que desea agregar los nodos de computación. | Ninguna. |
VolumeType | String | No | No | Tipo de almacenamiento compartido. | Establezca el valor en NAS. |
VolumeMountpoint | String | Sí | No | Destino de montaje del sistema de archivos NAS. El destino de montaje es de tipo VPC. | Ninguna. |
Valores de retorno
Fn::GetAtt
EcsInfo: número de instancias ECS y tipos de instancia para cada nodo en el clúster. Ejemplo:
{"Manager": {"Count": 2, "InstanceType": "ecs.n1.large"}, "Compute": {"Count": 8, "InstanceType": "ecs.n1.large"}, "Login": {"Count": 1, "InstanceType": "ecs.n1.large"}}.SecurityGroupId: ID del security group.
ClusterId: ID del clúster.
Name: nombre del clúster.
Ejemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcCidrBlock:
Type: String
AllowedValues:
- 192.168.0.0/16
- 172.16.0.0/12
- 10.0.0.0/8
Label:
en: VPC CIDR Block
Default: 192.168.0.0/16
VSwitchCidrBlock:
Type: String
Description:
en: Must be a sub-network segment of the proprietary network and is not occupied by other VSwitches.
Label:
en: vSwitch CIDR Block
Default: 192.168.0.0/24
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
Label:
en: Availability Zone
Password:
NoEcho: true
Type: String
Label:
en: Login Password
MinLength: 8
MaxLength: 30
EcsOrderLoginInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Login Instance Specifications
EcsOrderManagerInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Manager Instance Specifications
EcsOrderComputeInstanceType:
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ZoneId
Type: String
Label:
en: Compute Instance Specifications
BucketName:
Type: String
Label:
en: Bucket Name
Default: test-ehpc
BucketAccessControl:
Type: String
Label:
en: Access Control
AllowedValues:
- private
- public-read
- public-read-write
Default: public-read
BucketStorageClass:
Type: String
Label:
en: Storage Type
AllowedValues:
- Standard
- IA
- Archive
Default: Standard
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock:
Ref: VpcCidrBlock
VpcName:
Fn::Join:
- '-'
- - Vpc
- Ref: ALIYUN::StackId
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
CidrBlock:
Ref: VSwitchCidrBlock
VSwitchName:
Fn::Join:
- '-'
- - VSwitch
- StackId
- Ref: ALIYUN::StackId
AccessGroup:
Type: ALIYUN::NAS::AccessGroup
Properties:
AccessGroupType: Vpc
AccessGroupName:
Fn::Join:
- '-'
- - AccessGroup
- Ref: ALIYUN::StackId
FileSystem:
Type: ALIYUN::NAS::FileSystem
Properties:
ProtocolType: NFS
StorageType: Capacity
MountTarget:
Type: ALIYUN::NAS::MountTarget
Properties:
VpcId:
Ref: Vpc
FileSystemId:
Ref: FileSystem
VSwitchId:
Ref: VSwitch
NetworkType: Vpc
AccessGroupName:
Ref: AccessGroup
AccessRule:
Type: ALIYUN::NAS::AccessRule
Properties:
SourceCidrIp: 0.0.0.0/0
AccessGroupName:
Ref: AccessGroup
Cluster:
Type: ALIYUN::EHPC::Cluster
DependsOn:
- AccessRule
- FileSystem
- MountTarget
- OssBucket
Properties:
EcsOrderComputeCount: 1
OsTag: CentOS_7.2_64
Name:
Fn::Join:
- '-'
- - Cluster
- Ref: ALIYUN::StackId
EhpcVersion: 1.0.0
VolumeId:
Ref: FileSystem
EcsOrderLoginCount: 1
VSwitchId:
Ref: VSwitch
VolumeMountpoint:
Ref: MountTarget
EcsOrderLoginInstanceType:
Ref: EcsOrderLoginInstanceType
EcsOrderManagerInstanceType:
Ref: EcsOrderManagerInstanceType
EcsOrderComputeInstanceType:
Ref: EcsOrderComputeInstanceType
Password:
Ref: Password
Application:
- Tag: VMD_1.9.3
- Tag: LAMMPS-OPENMPI-31Mar17
OssBucket:
Type: ALIYUN::OSS::Bucket
Properties:
BucketName:
Ref: BucketName
AccessControl:
Ref: BucketAccessControl
StorageClass:
Ref: BucketStorageClass
Tags:
Value: '021'
Key: best_practice
Outputs:
MountTargetDomain:
Description:
en: Mount point domain name
Value:
Fn::GetAtt:
- MountTarget
- MountTargetDomain
FileSystemId:
Description:
en: ID of the file system created
Value:
Fn::GetAtt:
- FileSystem
- FileSystemId
Description:
en: EHPC Industrial Simulation
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- ZoneId
- VpcCidrBlock
- VSwitchCidrBlock
Label:
default:
en: VPC
- Parameters:
- EcsOrderComputeInstanceType
- EcsOrderLoginInstanceType
- EcsOrderManagerInstanceType
- Password
Label:
default:
en: EHPC
- Parameters:
- BucketName
- BucketAccessControl
- BucketStorageClass
Label:
default:
en: OSS
TemplateTags:
- acs:solution:E-HPC:Perform a manufacturing simulation by using E-HPC
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcCidrBlock": {
"Type": "String",
"AllowedValues": [
"192.168.0.0/16",
"172.16.0.0/12",
"10.0.0.0/8"
],
"Label": {
"en": "VPC CIDR Block",
},
"Default": "192.168.0.0/16"
},
"VSwitchCidrBlock": {
"Type": "String",
"Description": {
"en": "Must be a sub-network segment of the proprietary network and is not occupied by other VSwitches."
},
"Label": {
"en": "vSwitch CIDR Block"
},
"Default": "192.168.0.0/24"
},
"ZoneId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
"Label": {
"en": "Availability Zone"
}
},
"Password": {
"NoEcho": true,
"Type": "String",
"Label": {
"en": "Login Password",
},
"MinLength": 8,
"MaxLength": 30
},
"EcsOrderLoginInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Login Instance Specifications",
}
},
"EcsOrderManagerInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Manager Instance Specifications",
}
},
"EcsOrderComputeInstanceType": {
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "ZoneId"
},
"Type": "String",
"Label": {
"en": "Compute Instance Specifications",
}
},
"BucketName": {
"Type": "String",
"Label": {
"en": "Bucket Name",
},
"Default": "test-ehpc"
},
"BucketAccessControl": {
"Type": "String",
"Label": {
"en": "Access Control",
},
"AllowedValues": [
"private",
"public-read",
"public-read-write"
],
"Default": "public-read"
},
"BucketStorageClass": {
"Type": "String",
"Label": {
"en": "Storage Type",
},
"AllowedValues": [
"Standard",
"IA",
"Archive"
],
"Default": "Standard"
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": {
"Ref": "VpcCidrBlock"
},
"VpcName": {
"Fn::Join": [
"-",
[
"Vpc",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": {
"Ref": "VSwitchCidrBlock"
},
"VSwitchName": {
"Fn::Join": [
"-",
[
"VSwitch",
"StackId",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"AccessGroup": {
"Type": "ALIYUN::NAS::AccessGroup",
"Properties": {
"AccessGroupType": "Vpc",
"AccessGroupName": {
"Fn::Join": [
"-",
[
"AccessGroup",
{
"Ref": "ALIYUN::StackId"
}
]
]
}
}
},
"FileSystem": {
"Type": "ALIYUN::NAS::FileSystem",
"Properties": {
"ProtocolType": "NFS",
"StorageType": "Capacity"
}
},
"MountTarget": {
"Type": "ALIYUN::NAS::MountTarget",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"FileSystemId": {
"Ref": "FileSystem"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"NetworkType": "Vpc",
"AccessGroupName": {
"Ref": "AccessGroup"
}
}
},
"AccessRule": {
"Type": "ALIYUN::NAS::AccessRule",
"Properties": {
"SourceCidrIp": "0.0.0.0/0",
"AccessGroupName": {
"Ref": "AccessGroup"
}
}
},
"Cluster": {
"Type": "ALIYUN::EHPC::Cluster",
"DependsOn": [
"AccessRule",
"FileSystem",
"MountTarget",
"OssBucket"
],
"Properties": {
"EcsOrderComputeCount": 1,
"OsTag": "CentOS_7.2_64",
"Name": {
"Fn::Join": [
"-",
[
"Cluster",
{
"Ref": "ALIYUN::StackId"
}
]
]
},
"EhpcVersion": "1.0.0",
"VolumeId": {
"Ref": "FileSystem"
},
"EcsOrderLoginCount": 1,
"VSwitchId": {
"Ref": "VSwitch"
},
"VolumeMountpoint": {
"Ref": "MountTarget"
},
"EcsOrderLoginInstanceType": {
"Ref": "EcsOrderLoginInstanceType"
},
"EcsOrderManagerInstanceType": {
"Ref": "EcsOrderManagerInstanceType"
},
"EcsOrderComputeInstanceType": {
"Ref": "EcsOrderComputeInstanceType"
},
"Password": {
"Ref": "Password"
},
"Application": [
{
"Tag": "VMD_1.9.3"
},
{
"Tag": "LAMMPS-OPENMPI-31Mar17"
}
]
}
},
"OssBucket": {
"Type": "ALIYUN::OSS::Bucket",
"Properties": {
"BucketName": {
"Ref": "BucketName"
},
"AccessControl": {
"Ref": "BucketAccessControl"
},
"StorageClass": {
"Ref": "BucketStorageClass"
},
"Tags": {
"Value": "021",
"Key": "best_practice"
}
}
}
},
"Outputs": {
"MountTargetDomain": {
"Description": {
"en": "Mount point domain name",
},
"Value": {
"Fn::GetAtt": [
"MountTarget",
"MountTargetDomain"
]
}
},
"FileSystemId": {
"Description": {
"en": "ID of the file system created",
},
"Value": {
"Fn::GetAtt": [
"FileSystem",
"FileSystemId"
]
}
}
},
"Description": {
"en": "EHPC Industrial Simulation",
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"ZoneId",
"VpcCidrBlock",
"VSwitchCidrBlock"
],
"Label": {
"default": {
"en": "VPC",
}
}
},
{
"Parameters": [
"EcsOrderComputeInstanceType",
"EcsOrderLoginInstanceType",
"EcsOrderManagerInstanceType",
"Password"
],
"Label": {
"default": {
"en": "EHPC",
}
}
},
{
"Parameters": [
"BucketName",
"BucketAccessControl",
"BucketStorageClass"
],
"Label": {
"default": {
"en": "OSS",
}
}
}
],
"TemplateTags": [
"acs:solution:E-HPC:Perform a manufacturing simulation by using E-HPC"
]
}
}
}