HeadNode 部分 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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 地址分配给头节点。支持的值为 truefalse 或现有弹性 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 卷类型。支持的值为 gp2gp3io1io2sc1st1standard。默认值为 gp3

有关更多信息,请参阅《亚马逊EC2用户指南》中的 Amazon EBS 卷类型

更新策略:如果更改此设置,则不允许更新。

Iops可选Integer

定义io1io2和 t gp3 ype 卷的数量。IOPS

默认值、支持的值以及 volume_size/volume_iops 比率因 VolumeTypeSize 而异。

更新策略:如果更改此设置,则不允许更新。

VolumeType = io1

默认值:Iops = 100

支持的值:Iops = 100–64000 †

最大IopsSize比 = IOPS 每 GiB 50。5000 IOPS 需要至少 100 GiB Size 的容量。

VolumeType = io2

默认值:Iops = 100

支持的值:Iops = 100–64000(io2 Block Express 卷为 256000)†

最大IopsSize比 = IOPS 每 GiB 500。5000 IOPS 需要至少 10 GiB 的。Size

VolumeType = gp3

默认值:Iops = 3000

支持的值:Iops = 3000–16000

最大IopsSize比 = IOPS 每 GiB 500。5000 IOPS 需要至少 10 GiB 的。Size

† 只有在配置超过 32,000 IOPS 的 Nitro 系统上构建的实例才能保证最大值。IOPS其他实例保证最高可达 32,000 个IOPS。除非您修改卷,否则较旧的 io1 卷可能无法实现完全性能。io2Block Express 卷在 R5b 实例类型上支持高达 256000 的 Iops 值。有关更多信息,请参阅《亚马逊EC2用户指南》中的 “io2屏蔽 Express 卷”。

更新策略:可以在更新期间更改此设置。

Throughput可选Integer

定义 gp3 卷类型的吞吐量,以 MiB/s 为单位。此设置仅在 VolumeTypegp3 时有效。默认值为 125。支持的值:125–1000 MiB/s

ThroughputIops 的比率不能超过 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服务器之间的流量。要配置您自己的证书,请参阅 亚马逊DCVHTTPS证书

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

指定用于覆盖默认头节点实例配置文件的实例配置文件。您不能同时指定 InstanceProfileInstanceRole。格式为 arn:Partition:iam::Account:instance-profile/InstanceProfileName

如果指定此设置,则不能指定 S3AccessAdditionalIamPolicies 设置。

我们建议您指定S3AccessAdditionalIamPolicies设置中的一个或两个,因为添加到中的功能 Amazon ParallelCluster 通常需要新的权限。

更新策略:如果更改此设置,则不允许更新。

InstanceRole可选String

指定用于覆盖默认头节点实例角色的实例角色。您不能同时指定 InstanceProfileInstanceRole。格式为 arn:Partition:iam::Account:role/RoleName

如果指定此设置,则不能指定 S3AccessAdditionalIamPolicies 设置。

我们建议您指定S3AccessAdditionalIamPolicies设置中的一个或两个,因为添加到中的功能 Amazon ParallelCluster 通常需要新的权限。

更新策略:可以在更新期间更改此设置。

S3Access

S3Access可选

指定存储桶。此设置用于生成针对存储桶授予指定访问权限的策略。

如果指定此设置,则不能指定 InstanceProfileInstanceRole 设置。

我们建议您指定S3AccessAdditionalIamPolicies设置中的一个或两个,因为添加到中的功能 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是不同的。不能使用名称。

如果指定此设置,则不能指定 InstanceProfileInstanceRole 设置。

我们建议您使用,AdditionalIamPoliciesAdditionalIamPolicies因为已添加到 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.04 ubuntu 上。

默认为 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

注意

iptablesip6tables规则的任何自定义都可能干扰用于限制头节点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问题疑难解答

更新策略:如果更改此设置,则不允许更新。