构建自定义 Amazon ParallelCluster AMI - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

构建自定义 Amazon ParallelCluster AMI

重要

我们不建议构建自定义 AMI 作为自定义Amazon ParallelCluster。

这是因为,在构建您自己的 AMI 后,您就不再随的将来版本收到更新或错误修复Amazon ParallelCluster。此外,如果您构建了自定义 AMI,您必须重复执行用于使用每个新的Amazon ParallelCluster发布了。

在继续阅读之前,我们建议您先查看自定义引导操作部分,以确定您希望进行的更改能否使用将来的Amazon ParallelCluster版本。

即使构建自定义 AMI 并不理想(由于前面提到的原因),仍然存在为Amazon ParallelCluster是必要的。本教程将指导您完成针对这些方案构建自定义 AMI 的过程。

注意

从开始Amazon ParallelCluster版本 2.6.1,在启动节点时将默认跳过大多数安装配方。这是为了缩短启动时间。要以牺牲启动时间为代价运行所有安装配方以获得更好的向后兼容性,请将添加"skip_install_recipes" : "no"添加到clusterextra_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以便在安装和配置时正常工作。您可以此为基础开始操作。

  1. 在 AMI 列表中,查找与您使用的特定区域对应的 AMI。您选择的 AMI 列表必须与Amazon ParallelCluster您使用的。运行 pcluster version 验证版本。适用于Amazon ParallelCluster版本 2.11.0,请转到https://github.com/aws/aws-parallelcluster/blob/v2.11.0/amis.txt。要选择其他版本,请使用相同的链接,选择标签:2.11.0按钮中,选择标签选项卡,然后选择适当的版本。

  2. 在 Amazon EC2 控制台中,选择启动实例

  3. 导航到社区 AMI,然后在搜索框中输入区域的 AMI ID。

  4. 选择此 AMI,选择您的实例类型和属性,然后启动您的实例。

  5. 使用操作系统用户和您的 SSH 密钥登录您的实例。

  6. 根据需要自定义您的实例。

  7. 运行以下命令以准备实例来创建 AMI:

    sudo /usr/local/sbin/ami_cleanup.sh
  8. 停止实例。

  9. 从实例创建新的 AMI。

  10. 在集群配置内的 custom_ami 字段中输入 AMI ID。

构建自定义 Amazon ParallelCluster AMI

如果您已具有自定义的 AMI 和软件,则可以在其基础之上应用 Amazon ParallelCluster 所需的更改。

  1. 在您的本地系统中安装以下内容,同时结合使用Amazon ParallelClusterCLI:

    • Packer:从 Packer 网站查找并安装最新的操作系统版本。版本必须至少为 1.4.0,但建议使用最新版本。验证packer命令在您的 PATH 中可用。

    注意

    优化前Amazon ParallelCluster版本 2.8.0Berkshelf(这是通过使用gem install berkshelf)需要使用pcluster createami

  2. 配置 Amazon Web Services 账户 凭据,以便 Packer 可以调用Amazon代表您执行 API 操作。Packer 正常工作所需的一组最低的必需权限记录在IAM 任务或实例角色的 部分Amazon AMI 构建器主题。

  3. 可以使用 Amazon ParallelCluster CLI 中的 createami 命令以您作为基础的 Amazon ParallelCluster AMI 为起点构建该 AMI:

    pcluster createami --ami-id <BASE_AMI> --os <BASE_AMI_OS>
    重要

    您不应使用Amazon ParallelClusterAMI 从正在运行的群集<BASE_AMI>(对于 )createami命令。否则,命令将失败。

    有关其他参数,请参阅pcluster createami

  4. 步骤 4 中的命令运行 Packer,后者需要专门执行以下操作:

    1. 使用提供的基础 AMI 启动实例。

    2. 应用Amazon ParallelClustercookbook 添加到实例以安装相关软件和执行其他必要的配置任务。

    3. 停止实例。

    4. 从实例创建新的 AMI。

    5. 创建 AMI 之后终止该实例。

    6. 输出用于创建集群的新的 AMI ID 字符串。

  5. 要创建集群,请在集群配置内的 custom_ami 字段中输入 AMI ID。

注意

用于构建自定义Amazon ParallelClusterAMIt2.xlarge。此实例类型不符合Amazon免费套餐,因此您需要为构建此 AMI 时创建的任何实例付费。

在运行时使用自定义 AMI

如果您不想提前创建任何内容,您可以使用您的 AMI 并创建Amazon ParallelCluster来自该 AMI。

使用这种方法,它需要更长的时间Amazon ParallelCluster,因为所有需要的软件Amazon ParallelCluster在创建群集时必须安装。此外,扩大也需要更长的时间。

  • 在集群配置内的 custom_ami 字段中输入 AMI ID。