本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS ParallelCluster AMI 自定义
在某些情况下,需要为 AWS ParallelCluster 构建自定义 AMI。本节介绍构建自定义 AWS ParallelCluster AMI 时应考虑的事项。
您可以使用以下方法之一构建自定义 AWS ParallelCluster AMI:
有关这些方法的更多信息,请参阅构建自定义 AWS ParallelCluster AMI。
AWS ParallelCluster AMI 自定义注意事项
无论您如何创建自定义映像,我们都建议您执行初步验证测试,并包含相应的预置以监控所创建映像的状态。
要使用 pcluster
构建自定义 AMI,您需要创建一个包含 Build 和 Image 部分的构建映像配置文件,EC2 Image Builder 将使用该文件来构建您的自定义映像。Build
部分指定 Image Builder 在构建映像时需要的项目。这包括 ParentImage(基础映像)和 Components。Image Builder 组件定义一系列步骤,在创建映像之前自定义实例时或在测试由创建的映像启动的实例时,必须执行这些步骤。有关 AWS ParallelCluster 组件示例,请参阅自定义 AMIImage
部分指定映像属性。
从 pcluster 调用build-image以创建自定义映像时,Image Builder 会使用带有 AWS ParallelCluster 食谱的构建映像配置来引导您 AWS ParallelCluster 。ParentImageImage Builder 将会下载组件、运行构建和验证阶段、创建 AMI、从 AMI 中启动实例并运行测试。该过程完成后,Image Builder 将生成新映像或停止消息。
执行自定义组件验证测试
在将 Image Builder 组件包含在配置中之前,请使用以下方法之一对其进行测试和验证。由于 Image Builder 进程可能需要长达 1 小时的时间,因此我们建议您事先测试这些组件。这可为您节省大量时间。
- 脚本案例
-
在构建映像过程之外,在正在运行的实例中测试脚本,并验证脚本是否以退出代码 0 退出。
- Amazon 资源名称 (ARN) 案例
-
在构建映像过程之外,在正在运行的实例中测试组件文档。有关要求列表,请参阅 Image Builder User Guide 中的 Component manager。
- 成功验证后,将组件添加到构建映像配置中
-
确认自定义组件正常工作后,将其添加到构建映像配置文件中。
使用 pcluster
命令监控 Image Builder 进程以帮助进行调试
使用此命令可监控构建映像状态。
使用此命令可获取日志流的 ID,用于通过 get-image-log-events 来检索日志事件。
使用此命令可获取构建映像进程事件的日志流。
例如,您可以使用以下命令来跟踪构建映像事件。
$
watch -n 1 'pcluster get-image-log-events -i<image-id>
\ --log-stream-name/1<pcluster-version>
\ --query "events[*].message" | tail -n 50'
使用此命令可检索 Image Builder 创建的堆栈的映像堆栈事件。
使用此命令可保存映像日志。
有关 AWS ParallelCluster 日志和 Amazon 的更多信息 CloudWatch,请参阅Amazon CloudWatch Logs 构建映像日志和亚马逊 CloudWatch 控制面板。
其他考虑因素
- 新 AWS ParallelCluster 版本和自定义 AMI
-
如果构建并使用自定义 AMI,则必须重复执行用于随每个新的 AWS ParallelCluster 版本创建自定义 AMI 的步骤。
- 自定义引导操作
-
请查看该自定义引导操作部分,以确定您要进行的修改是否可以编写脚本并支持未来的 AWS ParallelCluster 版本。
- 使用自定义 AMI
-
您可以在集群配置的 Image/CustomAmi 和 Scheduling/SlurmQueues/- Name/Image/CustomAmi 部分中指定自定义 AMI。
要排查自定义 AMI 验证警告,请参阅排查自定义 AMI 问题。