高性能计算平台 集群初始化脚本配置

THPC 集群中的节点在创建过程中,提供用户自定义集群初始化脚本能力,满足客户对于节点开始执行任务之前,预部署需求。包括存储的挂载、数据预处理、配置变更和软件部署等操作。

相关产品
高性能计算平台 产品页,含版本规格、价格与购买入口。

一、初始化脚本配置方式

设置集群初始化脚本有以下两种方式:

1. 创建集群时,通过 InitNodeScripts 参数进行设置。

2. 集群创建成功后,通过 修改节点初始化脚本 接口进行配置。

注意:创建集群时的初始化脚本信息对于创建的节点都生效。修改节点初始化脚本 接口配置初始化脚本之后,对后续新增的节点生效,对于已经存在的节点,不会执行集群初始化脚本。

二、操作步骤

1. 创建 COS 存储桶,上传初始化脚本到 COS 存储,脚本必须以#!字符以及指向要读取脚本的解释器的路径(通常为 #!/bin/bash)开头。执行脚本支持以下环境变量,客户可以根据环境变量进行脚本执行的逻辑控制:

环境变量名 说明 参考值
THPC_NODE_ROLE 节点的角色 COMPUTELOGINMANAGER
THPC_CLUSTER_ID 集群ID信息 hpc-8hje8h12
THPC_SCHEDULER_TYPE 调度器类型 SLURM
THPC_ACCOUNT_TYPE 域名字服务类型 NIS

注意:初始化脚本需要提前上传到 cos 桶上进行存储。

注意:由于初始化脚本在加入集群之前进行执行,需要客户评估脚本执行超时时间,否则有可能脚本执行异常,导致实例长时间无法加入集群被使用。

示例脚本如下:

#!/bin/bashecho ${THPC_NODE_ROLE} > /root/${THPC_NODE_ROLE}echo ${THPC_CLUSTER_ID} > /root/${THPC_CLUSTER_ID}echo ${THPC_SCHEDULER_TYPE} > /root/${THPC_SCHEDULER_TYPE}echo ${THPC_ACCOUNT_TYPE} > /root/${THPC_ACCOUNT_TYPE}

2. 在创建集群时配置 InitNodeScripts 参数或者集群创建成功后调用 修改节点初始化脚本 接口配置;

其中 ScriptPath 参数需要填写以 cos:// 的形式开头,将图中访问域名的 https:// 替换成 cos://,后续添加添加上存储桶访问路径即可。

例如cos://test-appid.cos.ap-guangzhou.myqcloud.com/thpc_test/install.sh其中 test-appid.cos.ap-guangzhou.myqcloud.com为存储桶访问域名,/thpc_test/install.sh为脚本访问路径。

注意:说明:

注意:目前只支持拉取与集群相同账号的 COS 桶,跨账号的 COS 桶暂时不支持拉取。

3. 在创建集群或者节点创建时,集群中的节点会从 cos 地址中获取到脚本,并在 /tmp/hpc_script/ 目录下进行执行。

脚本执行结果判断:

(1)集群脚本在超时时间内,返回 exit_code 为0,则被视为执行成功。

(2)集群脚本执行超时,或者返回的 exit_code 不为0,则被视为执行失败,执行失败的节点会被自动退还并销毁。

注意:说明:

注意:为了保证用户的操作能够在节点加入集群之后可以正常运行任务,初始化脚本在节点加入集群之前进行执行。执行自定义脚本会增加节点扩容所需时间。

赞 (0)
上一篇 4天前
下一篇 4天前