本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HeadNode 部分
(必需)指定头节点的配置。
HeadNode: InstanceType:stringNetworking: SubnetId:stringElasticIp:string/booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringProxy: HttpProxyAddress:stringDisableSimultaneousMultithreading:booleanSsh: KeyName:stringAllowedIps:stringLocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerDeleteOnTermination:booleanEphemeralVolume: MountDir:stringSharedStorageType:stringDcv: Enabled:booleanPort:integerAllowedIps:stringCustomActions: OnNodeStart: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeConfigured: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeUpdated: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringIam: InstanceRole:stringInstanceProfile:stringS3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringAdditionalIamPolicies: - Policy:stringImds: Secured:booleanImage: CustomAmi:string
HeadNode 属性
InstanceType(必填,String)-
指定头节点的实例类型。
指定用于头节点的 Amazon EC2 实例类型。实例类型的架构必须与用于 Amazon Batch InstanceType或SlurmInstanceType设置的架构相同。
注意
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,以最大限度地提高存放小文件和安装过程 read/write 的可能性。选择 EFS 进行扩展。
Networking
(必需)定义头节点的网络配置。
Networking: SubnetId:stringElasticIp:string/booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringProxy: 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:stringHttpProxyAddress(可选,String)-
定义 HTTP 或 HTTPS 代理服务器,通常为
https://。x.x.x.x:8080没有默认值。
Ssh
(可选)定义头节点的 SSH 访问配置。
Ssh: KeyName:stringAllowedIps:string
Ssh 属性
KeyName(可选,String)-
命名现有 Amazon EC2 密钥对以启用 SSH 访问头节点。
AllowedIps(可选,String)-
指定头节点 SSH 连接的 CIDR 格式 IP 范围或前缀列表 ID。默认值为
0.0.0.0/0。
LocalStorage
(可选)定义头节点的本地存储配置。
LocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerDeleteOnTermination:booleanEphemeralVolume: MountDir:string
LocalStorage 属性
RootVolume(必需)-
指定头节点的根卷存储。
RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerDeleteOnTermination:booleanSize(可选,Integer)-
指定头节点根卷大小,以吉字节 (GiB) 为单位。默认大小来自 AMI。如果使用不同的大小,则 AMI 必须支持
growroot。 Encrypted(可选,Boolean)-
指定是否对根卷进行加密。默认值为
true。 VolumeType(可选,String)-
指定 A mazon EBS 卷类型。支持的值为
gp2、gp3、io1、io2、sc1、st1和standard。默认值为gp3。有关更多信息,请参阅《亚马逊 EC2 用户指南》中的 Amaz on EBS 卷类型。
Iops(可选,Integer)-
定义
io1、io2和gp3类型卷的 IOPS 数。默认值、支持的值以及
volume_size/volume_iops比率因VolumeType和Size而异。VolumeType=io1-
默认值:
Iops= 100支持的值:
Iops= 100–64000 †最大
Iops/Size比率 = 50 IOPS/GiB。5000 IOPS 需要至少 100 GiB 的Size。 VolumeType=io2-
默认值:
Iops= 100支持的值:
Iops= 100–64000(io2Block Express 卷为 256000)†最大
Iops/Size比率 = 500 IOPS/GiB。5000 IOPS 需要至少 10 GiB 的Size。 VolumeType=gp3-
默认值:
Iops= 3000支持的值:
Iops= 3000–16000最大
Iops/Size比率 = 500 IOPS/GiB。5000 IOPS 需要至少 10 GiB 的Size。
† 只有在配置超过 32,000 IOPS 的 Nitro 系统上构建的实例才能保证最大 IOPS。其他实例保证最高为 32000 IOPS。除非您修改
io1卷,否则较旧的卷可能无法达到最大性能。io2Block Express 卷在R5b实例类型上支持高达 256000 的Iops值。有关更多信息,请参阅《亚马逊 EC2 用户指南》中的 “io2屏蔽 Express 卷”。 Throughput(可选,Integer)-
定义
gp3卷类型的吞吐量,以 MiB/s 为单位。此设置仅在VolumeType为gp3时有效。默认值为125。支持的值:125–1000 MiB/sThroughput与Iops的比率不能超过 0.25。如果最大吞吐量为 1000,则该Iops设置 MiB/s 必须至少为 4000。 -
DeleteOnTermination(可选,Boolean) -
指定头节点终止时是否应删除根卷。默认值为
true。
EphemeralVolume(可选)-
指定任何实例存储卷的详细信息。有关更多信息,请参阅 Amazon EC2 用户指南中的实例存储卷。
EphemeralVolume: MountDir:string-
MountDir(可选,String) -
指定实例存储卷的挂载目录。默认值为
/scratch。
-
Dcv
(可选)定义在头节点上运行的 Amazon DCV 服务器的配置设置。
有关更多信息,请参阅 通过 Amazon DCV 连接到头节点和登录节点。
Dcv: Enabled:booleanPort:integerAllowedIps:string
重要
默认情况下,设置的 Amazon DCV 端口对所有 IPv4 地址开放。 Amazon ParallelCluster 但是,只有当您具有 Amazon DCV 会话的 URL 时,才能连接到 Amazon DCV 端口,并应在 pcluster dcv-connect 返回 URL 后的 30 秒内连接到 Amazon DCV 会话。请使用 AllowedIps 设置进一步限制对具有 CIDR 格式 IP 范围的 Amazon DCV 端口的访问,并使用 Port 设置来设置非标准端口。
Dcv 属性
Enabled(必填,Boolean)-
指定是否在头节点上启用 Amazon DCV。默认值为
false。注意
Amazon DCV 会自动生成自签名证书,该证书用于保护 Amazon DCV 客户端与在头节点上运行的 Amazon 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:stringArgs: -stringScript:stringArgs: -stringOnNodeConfigured: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeUpdated: Sequence: - Script:stringArgs: -stringScript:stringArgs: -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:stringInstanceProfile:stringS3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringAdditionalIamPolicies: - 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:stringEnableWriteAccess:booleanKeyName:stringBucketName(必需,String)-
存储桶的名称。
KeyName(可选,String)-
存储桶的密钥。默认值为“
*”。 EnableWriteAccess(可选,Boolean)-
指示是否为存储桶启用写入权限。默认值为
false。
AdditionalIamPolicies
AdditionalIamPolicies(可选)-
指定适用于亚马逊 IAM 策略的亚马逊资源名称 (ARNs) 列表 EC2。除了所需的权限外,此列表还附在用于头节点的根角色上 Amazon ParallelCluster。
IAM 策略名称及其 ARN 不相同。不能使用名称。
如果指定此设置,则不能指定
InstanceProfile和InstanceRole设置。我们建议您使用
AdditionalIamPolicies,因为AdditionalIamPolicies已经添加到 Amazon ParallelCluster 所需的权限中,而InstanceRole必须包含所有必需的权限。随着功能的不断添加,所需权限通常会随版本发生变化。没有默认值。
AdditionalIamPolicies: - Policy:stringPolicy(可选,[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访问权限的集群用户可以通过运行以下命令,对其他单独用户(包括default用户)有选择地启用或禁用对头节点 IMDS 的访问权限:$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(而非默认 AMI)的 ID。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。
如果自定义 AMI 需要其他权限才能启动,则必须将这些权限添加到用户和头节点策略中。
例如,如果自定义 AMI 具有与之关联的加密快照,则用户和头节点策略中都需要以下其他策略:
要排查自定义 AMI 验证警告,请参阅排查自定义 AMI 问题。