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

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

构建自定义 Amazon ParallelCluster AMI

重要

我们不建议将构建自定义 AMI 作为自定义方法Amazon ParallelCluster.

这是因为,在您构建自己的 AMI 之后,您将不会再收到future 版本的更新或错误修复Amazon ParallelCluster. 此外,如果您构建自定义 AMI,则必须使用每个新的 AMI 重复创建自定义 AMI 时使用的步骤Amazon ParallelCluster释放。

在进一步阅读前,我们建议您先查看自定义引导操作部分,以确定将来是否可以编写脚本并支持您要进行的修改Amazon ParallelCluster版本。

尽管构建自定义 AMI 并不理想(因为前面提到的原因),但在某些情况下,仍然会为其构建自定义 AMIAmazon ParallelCluster是必要的。本教程将指导您完成针对这些场景构建自定义 AMI 的过程。

注意

StartsAmazon ParallelCluster版本 2.6.1,在启动节点时,默认情况下会跳过大多数安装方法。这是为了缩短启动时间。要以牺牲启动时间为代价运行所有安装方法以获得更好的向后兼容性,请添加"skip_install_recipes" : "no"cluster键入extra_json设置。例如:

extra_json = { "cluster" : { "skip_install_recipes" : "no" } }

先决条件

如何自定义 Amazon ParallelCluster AMI

有三种使用自定义的方法Amazon ParallelClusterAMI 将在下一节中介绍。这三种方法中有两种需要您构建一个新的 AMI,该AMI 在您的下方可用Amazon Web Services 账户. 第三种方法(在运行时使用自定义 AMI)不需要您事先构建任何东西,但确实会增加部署风险。请选择最符合您需求的方法。

修改 AMI

这是最安全、最值得推荐的方法。因为基地Amazon ParallelClusterAMI 经常使用新版本进行更新,此 AMI 具有所需的所有组件Amazon ParallelCluster在安装和配置后运行。您可以此为基础开始操作。

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

  2. 登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/)。

  3. Amazon EC2 控制,选择启动实例.

  4. 应用程序和操作系统映像,选择浏览更多 AMI,导航到社区 AMI,然后输入Amazon ParallelCluster将您所在地区的 AMI ID 放入搜索框中。

  5. SelectAMI,选择你的实例类型和房产,选择你的密钥对,以及启动实例.

  6. 使用操作系统用户和您的 SSH 密钥登录您的实例。有关更多信息,请导航到实例,选择新实例,然后连接.

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

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

    sudo /usr/local/sbin/ami_cleanup.sh
  9. 导航到实例,选择新实例,选择实例状态,以及停止实例.

  10. 使用 EC2 控制台从实例创建新的 AMI 或Amazon CLI 创建映像.

    从 EC2 控制台获取

    1. 在导航窗格中选择 Instances(实例)。

    2. 选择您创建和修改的实例。

    3. 操作,选择图像和模板,然后创建映像.

    4. 选择 Create Image

  11. 在中输入新的 AMI IDcustom_ami集群配置中的字段。

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

  2. 登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/)。

  3. Amazon EC2 控制,选择启动实例.

  4. 选择社区 AMI,搜索Amazon ParallelClusterAMI ID,以及Select它。

  5. 选择您的实例类型并选择下一步:配置实例详细信息,或查看和启动启动您的实例。

  6. 选择启动,请选择您的密钥对,以及启动实例.

  7. 使用操作系统用户和您的 SSH 密钥登录您的实例。有关更多信息,请导航到实例,选择新实例,然后连接.

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

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

    sudo /usr/local/sbin/ami_cleanup.sh
  10. 导航到实例,选择新实例,选择实例状态,以及停止

  11. 使用 EC2 控制台从实例创建新的 AMI 或Amazon CLI 创建映像.

    从 EC2 控制台获取

    1. 在导航窗格中选择 Instances(实例)。

    2. 选择您创建和修改的实例。

    3. 操作,选择映像,然后创建映像.

    4. 选择 Create Image

  12. 在中输入新的 AMI IDcustom_ami集群配置中的字段。

构建自定义 Amazon ParallelCluster AMI

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

  1. 在本地系统中安装以下组件以及Amazon ParallelClusterCLI:

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

    注意

    以前Amazon ParallelCluster版本 2.8.0,伯克架子(它是通过使用安装的gem install berkshelf) 必须使用pcluster createami.

  2. 配置Amazon Web Services 账户凭证以便 Packer 可以调用Amazon代表您执行 API 操作。Packer 工作所需的最低权限集记录在IAM 任务或实例角色部分Amazon AMI 生成Packer 文档中的主题。

  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 ParallelCluster实例操作手册,用于安装相关软件和执行其它必要的配置任务。

    3. 停止实例。

    4. 从实例创建新的 AMI。

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

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

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

注意

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

在运行时使用自定义 AMI

警告

为了避免使用与不兼容的 AMI 的风险Amazon ParallelCluster,我们建议您避免使用此方法。

在运行时使用可能未经测试的 AMI 启动计算节点时,与运行时安装的不兼容Amazon ParallelCluster的必需软件可能会导致Amazon ParallelCluster停止工作。

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

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

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