本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
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 实例类型。实例类型的架构必须与用于的架构相同AWS Batch InstanceType要么Slurm InstanceType设置。
注意
AWS ParallelCluster不支持以下实例类型
HeadNode
设置。-
hpc6id
如果您定义了 p4d 实例类型或其他具有多个网络接口或网络接口卡的实例类型,则必须设置ElasticIp到
true
提供公众访问权限。AWS只能将公有 IP 分配给使用单一网络接口启动的实例。对于这种情况,我们建议您使用NAT 网关提供对群集计算节点的公共访问权限。有关更多信息,请参阅在实例启动期间分配公有 IPv4 地址在适用于 Linux 实例的亚马逊 EC2 用户指南。 -
DisableSimultaneousMultithreading
(可选,Boolean
)-
如果
true
,禁用头节点上的超线程。默认值为false
。并非所有实例类型都可以禁用超线程。有关支持禁用超线程的实例类型的列表,请参阅每种实例类型的每个 CPU 内核的 CPU 核心和线程在适用于 Linux 实例的亚马逊 EC2 用户指南。
Networking
(必填)定义头节点的网络配置。
Networking: SubnetId:
string
ElasticIp:string/boolean
SecurityGroups: -string
AdditionalSecurityGroups: -string
Proxy: HttpProxyAddress:string
Networking
属性
SubnetId
(必填项,String
)-
指定要在其中配置头节点的现有子网的 ID。
ElasticIp
(可选,String
)-
为头节点创建或分配弹性 IP 地址。支持的值是
true
,false
,或者现有弹性 IP 地址的 ID。默认为false
。 SecurityGroups
(可选,[String]
)-
用于头节点的 Amazon VPC 安全组 ID 列表。它们取代了安全组AWS 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
)-
指定与头节点的 SSH 连接的 CIDR 格式的 IP 范围。默认为
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
)-
指定亚马逊 EBS 卷类型。支持的值是
gp2
,gp3
,io1
,io2
,sc1
,st1
,以及standard
。默认值为gp3
。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Amazon EBS 卷类型。
Iops
(可选,Integer
)-
定义 IOPS 的数量
io1
,io2
,以及gp3
键入卷。默认值、支持的值和
volume_iops
到volume_size
比率因以下因素而异VolumeType
和Size
。VolumeType
=io1
-
默认
Iops
= 100支持的值
Iops
= 100—64000 †最大值
Iops
到Size
比率 = 每 GiB 50 IOPS。5000 IOPS 需要Size
至少 100 GiB。 VolumeType
=io2
-
默认
Iops
= 100支持的值
Iops
= 100—64000(256000 代表io2
区块快递卷) †最大值
Iops
到Size
比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size
至少 10 GiB。 VolumeType
=gp3
-
默认
Iops
= 3000支持的值
Iops
= 3000—16000最大值
Iops
到Size
比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size
至少 10 GiB。
† 只有在以下情况下才能保证最大 IOPS在 Nitro 系统上构建的实例配置了超过 32,000 个 IOPS。其他实例可保证高达 32,000 IOPS。较旧
io1
除非您,否则卷可能无法达到最大性能修改音量。io2
区块快递卷支持Iops
值高达 256000R5b
实例类型。有关更多信息,请参阅io2
屏蔽快递卷在适用于 Linux 实例的亚马逊 EC2 用户指南。 Throughput
(可选,Integer
)-
定义吞吐量
gp3
卷类型,以 MiB/s 为单位。此设置仅在以下情况下有效VolumeType
是gp3
。默认值为125
。支持的值:125—1000 MiB/s的比例
Throughput
到Iops
可以不超过 0.25。1000 MiB/s 的最大吞吐量要求Iops
设置至少为 4000。 DeleteOnTermination
(可选,Boolean
)-
指定在头节点终止时是否应删除根卷。默认值为
true
。
EphemeralVolume
(可选)-
指定任何实例存储卷的详细信息。有关更多信息,请参阅实例存储卷在适用于 Linux 实例的亚马逊 EC2 用户指南。
EphemeralVolume: MountDir:
string
MountDir
(可选,String
)-
指定实例存储卷的挂载目录。默认为
/scratch
。
Dcv
(可选)定义在头节点上运行的 NICE DCV 服务器的配置设置。
有关更多信息,请参阅将头节点通过 NICE DCV Connect 头节点:
Dcv: Enabled:
boolean
Port:integer
AllowedIps:string
重要
默认情况下,NICE DCV 端口设置为AWS ParallelCluster向所有 IPv4 地址开放。但是,只有在获得 NICE DCV 会话的 URL 并且在返回 URL 后的 30 秒内连接到 NICE DCV 会话时,才能连接到 NICE DCV 端口pcluster dcv-connect
。使用AllowedIps
设置进一步限制对具有 CIDR 格式的 IP 范围的 NICE DCV 端口的访问,然后使用Port
设置为设置非标准端口。
Dcv
属性
Enabled
(必填项,Boolean
)-
指定是否在头节点上启用 NICE DCV。默认值为
false
。注意
NICE DCV 会自动生成自签名证书,该证书用于保护 NICE DCV 客户端和在头节点上运行的 NICE DCV 服务器之间的流量。要配置您自己的证书,请参阅 NICE DCV HTTPS 证书。
Port
(可选,Integer
)-
指定 NICE DCV 的端口。默认值为
8443
。 AllowedIps
(可选,推荐,String
)-
指定连接到 NICE DCV 的 CIDR 格式的 IP 范围。此设置仅在 AWS 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
(可选)-
要运行的脚本列表。AWS 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
以开头添加AWS ParallelCluster3.4.0。Sequence
以开头添加AWS ParallelCluster版本 3.6.0。当你指定Sequence
,您可以列出一个自定义操作的多个脚本。AWS ParallelCluster继续支持使用单个脚本配置自定义操作,不包括Sequence
。AWS 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
设置,因为添加了功能AWS ParallelCluster通常需要新的权限。 InstanceRole
(可选,String
)-
指定一个实例角色来覆盖默认的头节点实例角色。您不能同时指定
InstanceProfile
和InstanceRole
。格式为arn:
。Partition
:iam::Account
:role/RoleName
如果指定了这一点,则
S3Access
和AdditionalIamPolicies
无法指定设置。我们建议您指定其中一个或两个
S3Access
和AdditionalIamPolicies
设置,因为添加了功能AWS ParallelCluster通常需要新的权限。
S3Access
S3Access
(可选)-
指定存储桶。这用于生成策略以授予对存储桶的指定访问权限。
如果指定了这一点,则
InstanceProfile
和InstanceRole
无法指定设置。我们建议您指定其中一个或两个
S3Access
和AdditionalIamPolicies
设置,因为添加了功能AWS ParallelCluster通常需要新的权限。S3Access: - BucketName:
string
EnableWriteAccess:boolean
KeyName:string
BucketName
(必填项,String
)-
存储桶的名称。
KeyName
(可选,String
)-
存储桶的密钥。默认值为“
*
”。 EnableWriteAccess
(可选,Boolean
)-
表示是否已为存储桶启用写入权限。默认值为
false
。
AdditionalIamPolicies
AdditionalIamPolicies
(可选)-
指定亚马逊 EC2 的 IAM 策略的亚马逊资源名称 (ARN) 列表。除了所需的权限外,此列表还附在用于头节点的根角色上AWS ParallelCluster。
IAM 策略名称及其 ARN 是不同的。不能使用名称。
如果指定了这一点,则
InstanceProfile
和InstanceRole
无法指定设置。我们建议您使用
AdditionalIamPolicies
因为AdditionalIamPolicies
已添加到权限中AWS ParallelCluster要求,而且InstanceRole
必须包含所需的所有权限。随着功能的不断添加,所需权限通常会随版本发生变化。没有默认值。
AdditionalIamPolicies: - Policy:
string
Policy
(可选,[String]
)-
IAM 策略列表。
Imds
(可选)指定实例元数据服务 (IMDS) 的属性。有关更多信息,请参阅实例元数据服务版本 2 的工作原理在适用于 Linux 实例的亚马逊 EC2 用户指南。
Imds: Secured:
boolean
Imds
属性
Secured
(可选,Boolean
)-
如果
true
,将头节点的 IMDS(以及实例配置文件凭证)的访问权限限制为一部分超级用户。如果
false
,头节点中的每个用户都可以访问头节点的 IMDS。允许以下用户访问头节点的 IMDS:
-
根用户
-
群集管理用户 (
pc-cluster-admin
默认) -
操作系统特定的默认用户 (
ec2-user
在亚马逊 Linux 2 和 RedHat,ubuntu
在 Ubuntu 18.04 上,centos
在 CentOS 上 7)
默认为
true
。的
default
用户有责任确保集群拥有与之交互所需的权限AWS资源。如果你禁用default
用户 IMDS 访问权限,AWS ParallelCluster无法管理计算节点并停止工作。不要禁用default
用户 IMDS 访问权限。当用户被授予访问头节点的 IMDS 的权限时,他们可以使用其中包含的权限头节点的实例配置文件。例如,他们可以使用这些权限启动 EC2 实例或读取集群配置为用于身份验证的 AD 域的密码。
要限制 IMDS 的访问权限,AWS ParallelCluster管理着一连串的
iptables
。使用集群用户
sudo
access 可以有选择地启用或禁用其他个人用户对头节点 IMDS 的访问,包括default
用户,通过运行以下命令:$
sudo /opt/parallelcluster/scripts/imds/imds-access.sh --allow<USERNAME>
您可以使用禁用用户 IMDS 访问权限
--deny
此命令的选项。如果你在不知不觉中禁用
default
用户 IMDS 访问权限,你可以使用恢复权限--allow
选项。注意
任何自定义
iptables
要么ip6tables
规则可能会干扰用于在头节点上限制 IMDS 访问的机制。 -
Image
(可选)为头节点定义自定义图像。
Image: CustomAmi:
string
Image
属性
CustomAmi
(可选,String
)-
指定用于头节点(而不是默认 AMI)的自定义 AMI 的 ID。有关更多信息,请参阅AWS ParallelClusterAMI 自定义:
如果自定义 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 问题疑难解答。