本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HeadNode
部分
(必需)指定头节点的配置。
HeadNode: InstanceType:
string
Networking: SubnetId:string
ElasticIp:string/boolean
SecurityGroups: -string
AdditionalSecurityGroups: -string
Proxy: HttpProxyAddress:string
DisableSimultaneousMultithreading:boolean
Ssh: KeyName:string
AllowedIps:string
LocalStorage: RootVolume: Size:integer
Encrypted:boolean
VolumeType:string
Iops:integer
Throughput:integer
DeleteOnTermination:boolean
EphemeralVolume: MountDir:string
SharedStorageType:string
Dcv: Enabled:boolean
Port:integer
AllowedIps:string
CustomActions: OnNodeStart: Sequence: - Script:string
Args: -string
Script:string
Args: -string
OnNodeConfigured: Sequence: - Script:string
Args: -string
Script:string
Args: -string
OnNodeUpdated: Sequence: - Script:string
Args: -string
Script:string
Args: -string
Iam: InstanceRole:string
InstanceProfile:string
S3Access: - BucketName:string
EnableWriteAccess:boolean
KeyName:string
AdditionalIamPolicies: - Policy:string
Imds: Secured:boolean
Image: CustomAmi:string
HeadNode
属性
InstanceType
(必需,String
)-
指定头节点的实例类型。
指定用于头节点的 Amazon EC2 实例类型。实例类型的架构必须与用于 Amazon Batch InstanceType或的架构相同 Slurm InstanceType设置。
注意
Amazon ParallelCluster 不支持该
HeadNode
设置的以下实例类型。-
hpc6id
如果您定义一个 p4d 实例类型或其他具有多个网络接口或网络接口卡的实例类型,则必须ElasticIp将设置为
true
以提供公共访问权限。 Amazon public IPs 只能分配给使用单个网络接口启动的实例。对于这种情况,我们建议您使用NAT网关来提供对集群计算节点的公共访问权限。有关更多信息,请参阅 Amazon Linux 实例EC2用户指南中的在实例启动期间分配公有IPv4地址。 -
DisableSimultaneousMultithreading
(可选,Boolean
)-
如果为
true
,则在头节点上禁用超线程。默认值为false
。并非所有实例类型都可以禁用超线程。有关支持禁用超线程的实例类型列表,请参阅 A mazon EC2 用户指南中每种实例类型的CPU内CPU核和线程。
SharedStorageType
(可选,String
)-
指定用于内部共享数据的存储类型。内部共享数据包括 Amazon ParallelCluster 用来管理集群的数据,以及默认共享
/home
(如果未在 SharedStorage 部分指定为挂载共享文件系统卷的挂载目录)。有关内部共享数据的更多详细信息,请参阅 Amazon ParallelCluster 内部目录。如果
Ebs
(这是默认存储类型),则头节点会将其根卷的一部分导出为使用计算节点和登录节点的共享目录NFS。如果是
Efs
,Parallelcluster 将创建一个用于共享内部数据的EFS文件系统和。/home
注意
当集群向外扩展时,EBS存储类型可能会出现性能瓶颈,因为头节点使用NFS导出与计算节点共享来自根卷的数据。使用EFS,您可以在集群扩展时避免NFS导出,并避免与之相关的性能瓶颈。建议EBS为小文件和安装过程选择最大读/写潜力。选择缩EFS放比例。
Networking
(必需)定义头节点的网络配置。
Networking: SubnetId:
string
ElasticIp:string/boolean
SecurityGroups: -string
AdditionalSecurityGroups: -string
Proxy: HttpProxyAddress:string
Networking
属性
SubnetId
(必需,String
)-
指定要在其中预置头节点的现有子网的 ID。
ElasticIp
(可选,String
)-
创建弹性 IP 地址或将弹性 IP 地址分配给头节点。支持的值为
true
、false
或现有弹性 IP 地址的 ID。默认为false
。 SecurityGroups
(可选,[String]
)-
用于头节点的 Amazon VPC 安全组 ID 列表。如果不包含此属性,则它们将替换 Amazon ParallelCluster 创建的安全组。
验证您的SharedStorage系统是否正确配置了安全组。
AdditionalSecurityGroups
(可选,[String]
)-
用于头节点的其他 Amazon VPC 安全组 ID 的列表。
Proxy
(可选)-
指定头节点的代理设置。
Proxy: HttpProxyAddress:
string
HttpProxyAddress
(可选,String
)-
通常定义HTTP或HTTPS代理服务器
https://
。x.x.x.x:8080
没有默认值。
Ssh
(可选)定义SSH访问头节点的配置。
Ssh: KeyName:
string
AllowedIps:string
Ssh
属性
KeyName
(可选,String
)-
命名现有 Amazon EC2 密钥对以允许SSH访问头节点。
AllowedIps
(可选,String
)-
为与CIDR头节点的SSH连接指定格式化的 IP 范围或前缀列表 ID。默认为
0.0.0.0/0
。
LocalStorage
(可选)定义头节点的本地存储配置。
LocalStorage: RootVolume: Size:
integer
Encrypted:boolean
VolumeType:string
Iops:integer
Throughput:integer
DeleteOnTermination:boolean
EphemeralVolume: MountDir:string
LocalStorage
属性
RootVolume
(必需)-
指定头节点的根卷存储。
RootVolume: Size:
integer
Encrypted:boolean
VolumeType:string
Iops:integer
Throughput:integer
DeleteOnTermination:boolean
Size
(可选,Integer
)-
指定头节点根卷大小,以吉字节 (GiB) 为单位。默认大小来自AMI。使用不同的尺寸需要支AMI撑
growroot
。 Encrypted
(可选,Boolean
)-
指定是否对根卷进行加密。默认值为
true
。 VolumeType
(可选,String
)-
指定 A mazon EBS 卷类型。支持的值为
gp2
、gp3
、io1
、io2
、sc1
、st1
和standard
。默认值为gp3
。有关更多信息,请参阅《亚马逊EC2用户指南》中的 Amazon EBS 卷类型。
Iops
(可选,Integer
)-
定义
io1
、io2
和 tgp3
ype 卷的数量。IOPS默认值、支持的值以及
volume_size
/volume_iops
比率因VolumeType
和Size
而异。VolumeType
=io1
-
默认值:
Iops
= 100支持的值:
Iops
= 100–64000 †最大
Iops
与Size
比 = IOPS 每 GiB 50。5000 IOPS 需要至少 100Size
GiB 的。 VolumeType
=io2
-
默认值:
Iops
= 100支持的值:
Iops
= 100–64000(io2
Block Express 卷为 256000)†最大
Iops
与Size
比 = IOPS 每 GiB 500。5000 IOPS 需要至少 10Size
GiB 的。 VolumeType
=gp3
-
默认值:
Iops
= 3000支持的值:
Iops
= 3000–16000最大
Iops
与Size
比 = IOPS 每 GiB 500。5000 IOPS 需要至少 10Size
GiB 的。
† 只有在配置超过 32,000 IOPS 的 Nitro 系统上构建的实例才能保证最大值。IOPS其他实例保证最高可达 32,000 个IOPS。除非您修改卷,否则较旧的
io1
卷可能无法实现完全性能。io2
Block Express 卷在R5b
实例类型上支持高达 256000 的Iops
值。有关更多信息,请参阅《亚马逊EC2用户指南》中的 “io2
屏蔽 Express 卷”。 Throughput
(可选,Integer
)-
定义
gp3
卷类型的吞吐量,以 MiB/s 为单位。此设置仅在VolumeType
为gp3
时有效。默认值为125
。支持的值:125–1000 MiB/sThroughput
与Iops
的比率不能超过 0.25。1000 MiB/s 的最大吞吐量要求Iops
设置至少为 4000。 DeleteOnTermination
(可选,Boolean
)-
指定头节点终止时是否应删除根卷。默认值为
true
。
EphemeralVolume
(可选)-
指定任何实例存储卷的详细信息。有关更多信息,请参阅 Amazon EC2 用户指南中的实例存储卷。
EphemeralVolume: MountDir:
string
MountDir
(可选,String
)-
指定实例存储卷的挂载目录。默认为
/scratch
。
Dcv
(可选)定义在头节点上运行的 Amazon DCV 服务器的配置设置。
有关更多信息,请参阅 通过 Amazon DCV 连接到头节点和登录节点。
Dcv: Enabled:
boolean
Port:integer
AllowedIps:string
重要
默认情况下,设置的 Amazon DCV 端口对所有IPv4地址开放。 Amazon ParallelCluster 但是,只有当您拥有亚马逊DCV会话的 Amazon DCV 端口,并且在URL从返回的 30 秒内连接到亚马逊DCV会话时,您才能连接到 Amazon 端口pcluster dcv-connect
。URL使用该AllowedIps
设置进一步限制对具有CIDR格式化的 IP 范围的 Amazon DCV 端口的访问,并使用该Port
设置来设置非标准端口。
Dcv
属性
Enabled
(必需,Boolean
)-
指定是否在头节点上启用 Amazon DCV。默认值为
false
。注意
Amazon 会DCV自动生成自签名证书,用于保护在头节点上运行的 Amazon DCV 客户端和亚马逊DCV服务器之间的流量。要配置您自己的证书,请参阅 Amazon DCV HTTPS 证书。
Port
(可选,Integer
)-
指定 Amazon 的端口DCV。默认值为
8443
。 AllowedIps
(可选,建议,String
)-
指定连接到 Amazon DCV 的CIDR格式化的 IP 范围。此设置仅在 Amazon ParallelCluster 创建安全组时使用。默认值是
0.0.0.0/0
,允许从任何 Internet 地址访问。
CustomActions
(可选)指定要在头节点上运行的自定义脚本。
CustomActions: OnNodeStart: Sequence: - Script:
string
Args: -string
Script:string
Args: -string
OnNodeConfigured: Sequence: - Script:string
Args: -string
Script:string
Args: -string
OnNodeUpdated: Sequence: - Script:string
Args: -string
Script:string
Args: -string
CustomActions
属性
OnNodeStart
(可选)-
指定要在启动任何节点部署引导操作之前在头节点上运行的单个脚本或一系列脚本。有关更多信息,请参阅 自定义引导操作。
Sequence
(可选)-
要运行的脚本列表。 Amazon ParallelCluster 按配置文件中列出的顺序运行脚本,从第一个脚本开始。
Script
(必需,String
)-
指定要使用的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到脚本的参数的列表。
Script
(必需,String
)-
指定用于单个脚本的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到单个脚本的参数的列表。
OnNodeConfigured
(可选)-
指定要在节点引导操作完成后在头节点上运行的单个脚本或一系列脚本。有关更多信息,请参阅 自定义引导操作。
Sequence
(可选)-
指定要运行的脚本的列表。
Script
(必需,String
)-
指定要使用的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到脚本的参数的列表。
Script
(必需,String
)-
指定用于单个脚本的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到单个脚本的参数的列表。
OnNodeUpdated
(可选)-
指定要在节点更新操作完成后在头节点上运行的单个脚本或一系列脚本。有关更多信息,请参阅 自定义引导操作。
Sequence
(可选)-
指定要运行的脚本的列表。
Script
(必需,String
)-
指定要使用的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到脚本的参数的列表。
Script
(必需,String
)-
指定用于单个脚本的文件。文件路径可以
https://
或s3://
开头。 Args
(可选,[String]
)-
要传递到单个脚本的参数的列表。
注意
OnNodeUpdated
是从 Amazon ParallelCluster 3.4.0 开始添加的。Sequence
是从 3.6.0 Amazon ParallelCluster 版本开始添加的。指定后Sequence
,您可以列出一个自定义操作的多个脚本。 Amazon ParallelCluster 继续支持使用单个脚本配置自定义操作,不包括脚本Sequence
。Amazon ParallelCluster 不支持同时包含单个脚本和
Sequence
同一个自定义操作。
Iam
(可选)指定要在头节点上使用的实例角色或实例配置文件,用于覆盖集群的默认实例角色或实例配置文件。
Iam: InstanceRole:
string
InstanceProfile:string
S3Access: - BucketName:string
EnableWriteAccess:boolean
KeyName:string
AdditionalIamPolicies: - Policy:string
Iam
属性
InstanceProfile
(可选,String
)-
指定用于覆盖默认头节点实例配置文件的实例配置文件。您不能同时指定
InstanceProfile
和InstanceRole
。格式为arn:
。Partition
:iam::Account
:instance-profile/InstanceProfileName
如果指定此设置,则不能指定
S3Access
和AdditionalIamPolicies
设置。我们建议您指定
S3Access
和AdditionalIamPolicies
设置中的一个或两个,因为添加到中的功能 Amazon ParallelCluster 通常需要新的权限。 InstanceRole
(可选,String
)-
指定用于覆盖默认头节点实例角色的实例角色。您不能同时指定
InstanceProfile
和InstanceRole
。格式为arn:
。Partition
:iam::Account
:role/RoleName
如果指定此设置,则不能指定
S3Access
和AdditionalIamPolicies
设置。我们建议您指定
S3Access
和AdditionalIamPolicies
设置中的一个或两个,因为添加到中的功能 Amazon ParallelCluster 通常需要新的权限。
S3Access
S3Access
(可选)-
指定存储桶。此设置用于生成针对存储桶授予指定访问权限的策略。
如果指定此设置,则不能指定
InstanceProfile
和InstanceRole
设置。我们建议您指定
S3Access
和AdditionalIamPolicies
设置中的一个或两个,因为添加到中的功能 Amazon ParallelCluster 通常需要新的权限。S3Access: - BucketName:
string
EnableWriteAccess:boolean
KeyName:string
BucketName
(必需,String
)-
存储桶的名称。
KeyName
(可选,String
)-
存储桶的密钥。默认值为“
*
”。 EnableWriteAccess
(可选,Boolean
)-
指示是否为存储桶启用写入权限。默认值为
false
。
AdditionalIamPolicies
AdditionalIamPolicies
(可选)-
指定亚马逊资源名称 (ARNs) 的亚马逊IAM政策列表EC2。除了所需的权限外,此列表还附在用于头节点的根角色上 Amazon ParallelCluster。
IAM策略名称和策略名称ARN是不同的。不能使用名称。
如果指定此设置,则不能指定
InstanceProfile
和InstanceRole
设置。我们建议您使用,
AdditionalIamPolicies
AdditionalIamPolicies
因为已添加到 Amazon ParallelCluster 所需的权限中,并且InstanceRole
必须包含所需的所有权限。随着功能的不断添加,所需权限通常会随版本发生变化。没有默认值。
AdditionalIamPolicies: - Policy:
string
Policy
(可选,[String]
)-
IAM政策清单。
Imds
(可选)指定实例元数据服务(IMDS)的属性。有关更多信息,请参阅 Amazon EC2 用户指南中的实例元数据服务版本 2 的工作原理。
Imds: Secured:
boolean
Imds
属性
Secured
(可选,Boolean
)-
如果
true
,则将头节点IMDS(和实例配置文件凭证)的访问权限限制为一部分超级用户。如果
false
,则头节点中的每个用户都可以访问头节点的IMDS。允许以下用户访问头节点IMDS:
-
根用户
-
集群管理用户(默认为
pc-cluster-admin
) -
操作系统特定的默认用户(
ec2-user
在 Amazon Linux 2 和 RedHat Ubuntu 18.04ubuntu
上。
默认为
true
。default
用户负责确保集群拥有与 Amazon 资源交互所需的权限。如果您禁用default
用户IMDS访问权限,则 Amazon ParallelCluster 无法管理计算节点并停止工作。不要禁用default
用户IMDS访问权限。当用户被授予对头节点的访问权限时IMDS,他们可以使用头节点的实例配置文件中包含的权限。例如,他们可以使用这些权限来启动 Amazon EC2 实例,或者读取集群配置为用于身份验证的 AD 域的密码。
要限制IMDS访问权限,请 Amazon ParallelCluster 管理一连串的
iptables
。具有
sudo
访问权限的集群用户可以通过运行以下命令有选择地启用或禁IMDS用其他个人用户(包括default
用户)对头节点的访问权限:$
sudo /opt/parallelcluster/scripts/imds/imds-access.sh --allow<USERNAME>
您可以使用此命令的
--deny
选项禁用用户IMDS访问权限。如果您在不知不觉中禁用了
default
用户IMDS访问权限,则可以使用选项恢复权限。--allow
注意
对
iptables
或ip6tables
规则的任何自定义都可能干扰用于限制头节点IMDS访问的机制。 -
Image
(可选)为头节点定义自定义映像。
Image: CustomAmi:
string
Image
属性
CustomAmi
(可选,String
)-
指定要用于头节点的自定义AMI的 ID,而不是默认的 ID AMI。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。
如果自定义AMI需要额外的权限才能启动,则必须将这些权限添加到用户和头节点策略中。
例如,如果自定义的快照与其关联AMI了加密快照,则用户和头节点策略中都需要以下其他策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
<AWS_REGION>
:<AWS_ACCOUNT_ID>
:key/<AWS_KMS_KEY_ID>
" ] } ] }要对自定义AMI验证警告进行故障排除,请参阅排查自定义 AMI 问题。