设置后处理脚本后,E-HPC集群上后续扩容的节点均会自动执行指定的后处理脚本,可以满足计算节点预部署的需求。通过后处理脚本,您可以对计算节点做定制化操作,例如扩容的计算节点自动挂载ossfs、自动部署软件环境等。本文以自动挂载ossfs为例,介绍如何设置后处理脚本。
背景信息
设置后处理脚本有以下两种方式:
创建集群时,可在软件配置页的安装后执行脚本区域,设置后处理脚本。
集群运行后,可通过OpenAPI配置和获取后处理脚本。
调用SetPostScripts接口设置后处理脚本。
调用GetPostScripts接口获取后处理脚本。
创建集群时设置的后处理脚本对集群内所有节点生效,集群运行后设置的后处理脚本仅对集群新扩容的节点有效,集群内原有节点不生效。
前提条件
步骤一:下载并配置ossfs
下载ossfs包。
下载地址请参见ossfs快速安装。
将ossfs包上传到您的OSS Bucket。
具体操作,请参见简单上传。上传时,文件ACK请设置为公共读,以便后处理脚本可以访问获取,上传后,请在文件详情页记录ossfs包的私网下载地址,例如
https://bucket-***.oss-cn-shanghai-internal.aliyuncs.com/demo/ossfs_1.80.6_centos7.0_x86_64.rpm
。设置ossfs账号。
登录E-HPC集群。
将账号信息写入账号配置文件。
您需要将实际账号信息(AccessKey ID和AccessKey Secret)按照
$bucket_name:$access_key_id:$access_key_secret
的格式写入到集群的/home/passwd-ossfs
共享存储中,该文件路径将作为参数用于后处理脚本。命令如下:echo "$bucket_name:$access_key_id:$access_key_secret" > /home/passwd-ossfs
说明关于如何创建AccessKey ID和AccessKey Secret,请参见创建AccessKey。
该操作涉及AccessKey,请注意防泄漏。相关安全建议,请参见AK和账密防泄漏最佳实践。
修改账号配置文件的权限。
操作后,需要将
/home/passwd-ossfs
文件权限设置为600,命令如下:chmod 600 /home/passwd-ossfs
步骤二:编写并上传后处理脚本
编写后处理脚本。
处理脚本ehpcMountOss.sh的内容示例如下,请根据实际情况填写OssFsConfPath、OssFsUrl和OssEndpoint的值,并替换。
重要后处理脚本执行错误可能会导致节点异常,请确保脚本内容编写正确。更多信息,请参见脚本配置说明。
#!/bin/bash # 配置您的账号配置文件路径 OssFsConfPath="/home/passwd-ossfs" # 配置您的ossfs包私网下载地址 OssFsUrl="https://bucket-***.oss-cn-shanghai-internal.aliyuncs.com/demo/ossfs_1.80.6_centos7.0_x86_64.rpm" # 配置您的OSS 私网Endpoint OssEndpoint="http://oss-cn-shanghai-internal.aliyuncs.com" wget ${OssFsUrl} yum install -y ossfs_1.80.6_centos7.0_x86_64.rpm rm -rf ossfs_1.80.6_centos7.0_x86_64.rpm echo ${BucketName}:${AccessKeyId}:${AccessKeySecret} > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs mkdir /tmp/ossfs ossfs ${BucketName} /tmp/ossfs -opasswd_file=${OssFsConfPath} -ourl=${OssEndpoint} -oallow_other
示例脚本中包含了ossfs的挂载步骤,更多关于ossfs的配置,请参见高级配置。
将后处理脚本上传到OSS Bucket。
具体操作,请参见简单上传。上传时,文件ACK请设置为公共读,以便集群可以访问获取。上传后,请在文件详情页记录后处理脚本的私网下载地址,例如
https://bucket-***.oss-cn-shanghai-internal.aliyuncs.com/demo/ehpcMountOss.sh
。
步骤三:使用OpenAPI设置集群后处理脚本
登录OpenAPI开发者门户。
调用SetPostScripts接口设置后处理脚本。
说明如果您的集群之前设置过后处理脚本(脚本默认存放在
/opt/ehpc_user_scripts
路径下),请先登录集群,执行rm -rf
命令删除已有脚本。要填写的参数如下,更多信息,请参见SetPostScripts。
参数名称
示例值
说明
RegionId
cn-shanghai
集群所属地域。
ClusterId
ehpc-sh-R1X01h****
集群ID。
PostInstallScripts.0.Url
https://bucket-***.oss-cn-shanghai-internal.aliyuncs.com/demo/ehpcMountOss.sh
后处理脚本的私网下载地址。
调用GetPostScripts接口查看后处理脚本。
要填写的参数如下,更多信息,请参见GetPostScripts。
参数名称
示例值
说明
RegionId
cn-shanghai
集群所属地域。
ClusterId
ehpc-sh-R1X01h****
集群ID。
步骤四:扩容集群测试后处理脚本效果
扩容集群。具体操作,请参见手动扩容集群。
登录扩容后的计算节点,确认ossfs挂载情况。
登录后执行
df -h
命令,可以看到扩容的节点已自动执行后处理脚本,挂载了ossfs。预期返回如下: