本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
集群资源
CloudFormation 集群资源的格式如以下 CloudFormation 模板代码段所示:
PclusterCluster:
Type: Custom::PclusterCluster
Properties:
ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ]
ClusterName: !Sub 'c-${AWS::StackName}' # Must be different from StackName
ClusterConfiguration:
# Your Cluster Configuration
- 属性:
-
- ServiceToken:
-
AWS ParallelCluster 提供程序堆栈
ServiceToken
输出。 - ClusterName:
-
要创建和管理的集群的名称。该名称不得与 CloudFormation 堆栈的名称相同。创建集群后将无法更改该名称。
- ClusterConfiguration:
- DeletionPolicy:
-
定义在删除根堆栈时是否删除集群。默认为
Delete
。- Retain:
-
如果删除了自定义资源,则保留集群。
注意
为了使保留的集群继续正常运行,依赖于集群的资源(例如存储和网络)必须将删除策略设置为保留。
- Delete:
-
如果删除了自定义资源,则删除集群。
Fn::GetAtt
返回值:-
Fn::GetAtt
内置函数会为指定属性返回某种类型的值。有关使用Fn::GetAtt intrinsic
函数的更多信息,请参阅 Fn::GetAtt。- ClusterProperties:
-
pcluster describe-cluster 操作返回的值。
- validationMessages:
-
包含上次创建或更新操作期间出现的所有验证消息的字符串。
- logGroupName:
-
用于记录 Lambda 集群操作的日志组的名称。日志事件保留 90 天,集群删除后日志组将保留。
示例:Fn::GetAtt
:
# Provide the public IP address of the head node as an output of a stack
Outputs:
HeadNodeIp:
Description: The public IP address of the head node
Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
示例:包含 AWS ParallelCluster 自定义资源的简单、完整的 CloudFormation 模板:
AWSTemplateFormatVersion: '2010-09-09'
Description: >
AWS ParallelCluster CloudFormation Template
Parameters:
HeadNodeSubnet:
Description: Subnet where the HeadNode will run
Type: AWS::EC2::Subnet::Id
ComputeSubnet:
Description: Subnet where the Compute Nodes will run
Type: AWS::EC2::Subnet::Id
KeyName:
Description: KeyPair to login to the head node
Type: AWS::EC2::KeyPair::KeyName
Resources:
PclusterClusterProvider:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: !Sub
- https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml
- { Version: 3.7.0 }
PclusterCluster:
Type: Custom::PclusterCluster
Properties:
ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ]
ClusterName: !Sub 'c-${AWS::StackName}'
ClusterConfiguration:
Image:
Os: alinux2
HeadNode:
InstanceType: t2.medium
Networking:
SubnetId: !Ref HeadNodeSubnet
Ssh:
KeyName: !Ref KeyName
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: queue0
ComputeResources:
- Name: queue0-cr0
InstanceType: t2.micro
Networking:
SubnetIds:
- !Ref ComputeSubnet
Outputs:
HeadNodeIp:
Description: The Public IP address of the HeadNode
Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
ValidationMessages:
Description: Any warnings from cluster create or update operations.
Value: !GetAtt PclusterCluster.validationMessages
要了解有关如何使用 CloudFormation AWS ParallelCluster 自定义资源的更多信息,请参阅使用 AWS CloudFormation 创建集群。