View a markdown version of this page

在 Slurm CLI 过滤器插件上配置 AWS PCS 集群 - AWS 个

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

在 Slurm CLI 过滤器插件上配置 AWS PCS 集群

创建新的 AWS PCS 集群时配置 CLI 过滤器插件。您可以使用更新 API 或控制台在现有集群上启用或禁用 CLI 过滤器插件,而无需重新创建集群。

先决条件

在配置 CLI 过滤器插件之前,请完成以下任务:

  • 确认您使用的是 Slurm 版本 24.11 或更高版本。对于 24.11 和 25.05,请参阅。要求

  • 编写和测试实现 CLI 过滤器插件 API 的 Lua 脚本

  • 选择一种方法将脚本部署到所有集群实例(AMI、S3 或文件系统)

在新集群上启用 CLI 过滤器插件

AWS PCS console
  1. 在以下位置打开 AWS PCS 控制台https://console.aws.amazon.com/pcs/

  2. 在导航窗格中,选择集群

  3. 选择创建集群

  4. 在 “调度器设置” 下,展开 “其他调度器设置”。

  5. 添加一个新的 Slurm 自定义设置,参数名称设置为CliFilterPlugins参数值设置为。cli_filter/lua

  6. 完成剩余的集群配置,然后选择创建集群

AWS PCS API

在调用 CreateCluster API 操作时提供slurmCustomSettings配置。将 to CliFilterPluginsparameterName to 设置parameterValuecli_filter/lua。有关更多信息,请参阅 AWS PCS API 参考CreateCluster中的内容

以下示例使用 AWS CLI 调用 CreateCluster API 操作。自定义设置CliFilterPlugins=cli_filter/lua启用 CLI 过滤器插件。

aws pcs create-cluster --cluster-name cluster-name \ --scheduler type=SLURM,version=25.11 \ --size SMALL \ --networking subnetIds=cluster-subnet-id,securityGroupIds=cluster-security-group-id \ --slurm-configuration \ 'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'

部署 CLI 过滤器插件脚本

将 CLI 过滤器插件脚本部署到您的集群
  1. 确保计算节点组中使用的所有 AMI 均通过 AWS PCS Slurm 安装程序安装了 Slurm。

    注意

    如果您对所有计算节点组使用 AWS PCS 示例 AMI,请跳过此步骤。Slurm 已经安装了。

  2. 将 Lua 脚本部署到集群中的所有实例/etc/aws/pcs/scheduler/slurm-version/cli_filter.lua上。

    例如,对于 Slurm 版本 25.11:

    /etc/aws/pcs/scheduler/slurm-25.11/cli_filter.lua
    注意

    从 Slurm 版本 25.11 开始,你可以在 CliFilterParameters Slurm 自定义设置cli_filter_lua_path中自定义路径。此参数默认为/etc/aws/pcs/scheduler/slurm/cli_filter.lua。 AWS PCS 代理将此路径链接到从 v1.4.1-1 开始的版本控制位置。

  3. 使用准备好的 AMI 启动所有登录和计算节点。

  4. 测试作业提交以验证 CLI 过滤器插件是否正确执行。

在现有集群上启用或禁用 CLI 过滤器插件

您可以在现有集群上启用或禁用 CLI 过滤器插件,而无需重建基础架构。有关更多信息,请参阅 更新中的集群 AWS 个

AWS PCS console
  1. 在以下位置打开 AWS PCS 控制台https://console.aws.amazon.com/pcs/

  2. 在导航窗格中,选择集群

  3. 选择要更新的集群。

  4. 选择编辑操作

  5. 在 “编辑集群” 页面上,在 “其他调度程序设置” 下:

    • 启用 CLI 过滤器插件:添加新的 Slurm 自定义设置,参数名称设置为CliFilterPlugins参数值设置为。cli_filter/lua

    • 要禁用 CLI 过滤器插件,请执行以下操作:删除现有CliFilterPlugins设置。

  6. 选择 “更新集群” 以提交更改。

  7. 监控集群状态,集群状态在过程中显示为 “正在更新”,更新完成时显示为 “活动”。

AWS PCS API

使用 UpdateCluster API 操作启用或禁用 CLI 过滤器插件。有关更多信息,请参阅 AWS PCS API 参考UpdateCluster中的内容

要在现有集群上启用 CLI 过滤器插件,请执行以下操作:

aws pcs update-cluster --cluster-identifier my-cluster \ --slurm-configuration \ 'slurmCustomSettings=[{parameterName=CliFilterPlugins,parameterValue="cli_filter/lua"}]'

要在现有集群上禁用 CLI 过滤器插件,请执行以下操作:

aws pcs update-cluster --cluster-identifier my-cluster \ --slurm-configuration \ 'slurmCustomSettings=[]'

预期结果

完成配置后:

  • 您的集群是在开启了 CLI 过滤器插件的情况下创建的

  • 任务提交会在到达 Slurm 控制器之前触发您的自定义验证逻辑

  • Non-compliant 任务因您的自定义错误消息而被拒绝

  • 合规任务通过 Slurm 调度器正常进行

问题排查

任何节点上都缺少 CLI 过滤器插件脚本

症状:作业提交立即失败,出现插件加载错误。

可能的原因:脚本未部署到所有实例,或者文件路径或名称不正确。

解决方法:验证脚本是否存在于所有登录和计算节点的正确路径中,并具有准确的文件名cli_filter.lua

CLI 过滤器插件配置无效

症状:群集创建失败,出现验证错误。

可能的原因:CliFilterPlugins参数未设置为cli_filter/lua格式。

分辨率:使用cli_filter/lua中的精确参数值slurmCustomSettings