本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon S3 在中部署 CLI 过滤器插件脚本 AWS 个
如果您想在不重建 AMI 的情况下更新实时集群上的任务提交逻辑,请使用 S3 部署 CLI 筛选器插件脚本。这种方法在实例启动期间使用用户数据从 S3 下载脚本。
先决条件
在使用 S3 部署脚本之前,请完成以下任务:
-
确认您使用的是 Slurm 版本 24.11 或更高版本。对于 24.11 和 25.05,请参阅。要求
-
使用 CLI 过滤器插件 Lua 脚本创建 S3 存储桶
-
配置具有 S3 存储桶读取权限的 IAM 实例配置文件
-
设置 S3 VPC 网关终端节点以便在没有互联网的情况下直接访问
-
准备要从 S3 下载的用户数据脚本
使用 S3 部署 CLI 过滤器插件脚本
-
将您的
cli_filter.lua脚本上传到您的 S3 存储桶。 -
使用存储桶的 S3 读取权限配置您的 IAM 实例配置文件。
-
将 shell 代码添加到您的启动模板用户数据中以下载脚本:
aws s3 cp s3://my-bucket/cli_filter.lua /etc/aws/pcs/scheduler/slurm-25.11/cli_filter.lua chmod 644 /etc/aws/pcs/scheduler/slurm-25.11/cli_filter.lua -
使用更新后的启动模板部署计算节点组。
-
测试作业提交以验证脚本功能。
预期结果
完成 S3 部署后:
-
CLI 过滤器插件脚本会在启动期间自动下载到所有实例
-
S3 中的脚本更新会反映在新启动的实例上
-
任务提交策略在整个集群中始终如一地强制执行
问题排查
- S3 访问被拒
-
症状:实例启动失败或未下载脚本。
可能的原因:缺少 IAM 权限或 S3 VPC 终端节点。
解决方案:验证 IAM 实例配置文件是否具有
s3:GetObject权限并配置了 S3 VPC 终端节点。