本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建自定义 Amazon ParallelCluster AMI
我们不建议构建自定义 AMI 作为自定义的方法Amazon ParallelCluster.
这是因为,在构建您自己的 AMI 之后,您就不再随的将来版本收到更新或错误修复。Amazon ParallelCluster. 此外,如果您构建自定义 AMI,您必须重复执行用于随每个新 AMI 创建自定义 AMI 的步骤。Amazon ParallelCluster发布。
在继续阅读之前,我们建议您先查看自定义引导操作以确定您希望进行的更改能否使用将来的脚本写入脚本以及是否受这些版本支持Amazon ParallelCluster版本。
尽管构建自定义 AMI 并不理想(由于前面提到的原因),但仍然存在为构建自定义 AMI 的情况Amazon ParallelCluster是必要的。本教程将指导您完成针对这些方案构建自定义 AMI 的过程。
从开始Amazon ParallelCluster在启动节点时将默认跳过大多数安装配方。这是为了缩短启动时间。要以牺牲启动时间为代价运行所有安装配方以获得更好的向后兼容性,请将添加到"skip_install_recipes" : "no"
到cluster
键入extra_json设置。例如:
extra_json = { "cluster" : { "skip_install_recipes" : "no" } }
如何自定义 Amazon ParallelCluster AMI
可以通过三种方式使用自定义 Amazon ParallelCluster AMI。这三种方法中的两种需要您构建新的可用 AMI,该 AMI 在您的下方可用。Amazon Web Services 账户. 第三种方法(在运行时使用自定义 AMI)不需要您预先构建任何内容。请选择最符合您需求的方法。
修改 Amazon ParallelCluster AMI
这是最安全、最推荐的方法。因为基地Amazon ParallelClusterAMI 经常随新版本更新,此 AMI 具有以下所需的所有组件:Amazon ParallelCluster在安装和配置后正常运行。您可以此为基础开始操作。
-
在 AMI 列表中,找到与您使用的特定区域对应的 AMI。您选择的 AMI 列表必须与的版本匹配Amazon ParallelCluster您使用的。运行
pcluster version
验证版本。适用于Amazon ParallelCluster版本 2.11.5,转到https://github.com/aws/aws-parallelcluster/blob/v2.11.5/amis.txt. 要选择另一个版本,请使用相同的链接,选择标签:2.11.5按钮,选择标签选项卡,然后选择适当的版本。 -
在 Amazon EC2 控制台中,选择实例启动.
-
导航到社区 AMI,然后在搜索框中输入区域的 AMI ID。
-
选择此 AMI,选择您的实例类型和属性,然后启动您的实例。
-
使用操作系统用户和您的 SSH 密钥登录您的实例。
-
根据需要自定义您的实例。
-
运行以下命令以准备实例来创建 AMI:
sudo /usr/local/sbin/ami_cleanup.sh
-
停止实例。
-
从实例创建新的 AMI。
-
在集群配置内的 custom_ami 字段中输入 AMI ID。
构建自定义 Amazon ParallelCluster AMI
如果您已具有自定义的 AMI 和软件,则可以在其基础之上应用 Amazon ParallelCluster 所需的更改。
-
在您的本地系统中安装以下内容,同时结合使用Amazon ParallelClusterCLI:
-
Packer:从 Packer 网站
查找并安装最新的操作系统版本。版本必须至少为 1.4.0,但建议使用最新版本。确认 packer
命令在你的 PATH 中可用。
注意 优化前Amazon ParallelCluster版本 2.8.0、Berkshelf
(这是通过使用安装的 gem install berkshelf
必须使用)pcluster createami
. -
-
配置Amazon Web Services 账户凭据以便 Packer 可以拨打电话Amazon代表您执行 API 操作。Packer 工作所需的最低一组最低的必需权限记录在IAM 任务或实例角色
的 部分亚马逊 AMI 生成器Packer 文档中的主题。 -
可以使用 Amazon ParallelCluster CLI 中的
createami
命令以您作为基础的 Amazon ParallelCluster AMI 为起点构建该 AMI:pcluster createami --ami-id
<BASE_AMI>
--os<BASE_AMI_OS>
重要 您不应该使用Amazon ParallelCluster从正在运行的群集 AMI 作为
<BASE_AMI>
(对于 )createami
命令。否则,该命令将失败。有关其他参数,请参阅pcluster createami.
-
步骤 4 中的命令运行 Packer,该命令具体执行以下操作:
-
使用提供的基础 AMI 启动实例。
-
应用Amazon ParallelCluster实例说明书以安装相关软件和执行其他必要的配置任务。
-
停止实例。
-
从实例创建新的 AMI。
-
创建 AMI 之后终止该实例。
-
输出用于创建集群的新的 AMI ID 字符串。
-
-
要创建集群,请在集群配置内的 custom_ami 字段中输入 AMI ID。
用于构建自定义的实例类型Amazon ParallelClusterAMI 是t2.xlarge
. 此实例类型不符合Amazon免费套餐,因此您需要为构建此 AMI 时创建的任何实例付费。
在运行时使用自定义 AMI
如果您不想提前创建任何内容,您可以使用您的 AMI 并创建Amazon ParallelCluster来自那个 AMI。
使用这种方法,需要更长的时间Amazon ParallelCluster要创建的是因为所有需要的软件Amazon ParallelCluster必须在创建集群时安装。此外,扩展也需要更长的时间。
-
在集群配置内的 custom_ami 字段中输入 AMI ID。