最佳实践
弹性部署服务最佳实践
登录注册地址:[https://console.suanli.cn/auth/login](https://console.suanli.cn/auth/login)
一。环境准备
1. 本地环境将服务容器化
构建完整服务镜像
2. 注册并初始化账号,申请测试券
登录注册地址:https://console.suanli.cn/auth/login
2.1. 设置登陆密码并绑定微信(可选)

2.2. 激活账号
充值 0.01 激活账号

2.3. 申请测试算力券
注册账号后联系商务对接人员,提供账号信息由他给您走申请流程
3. 镜像上传,镜像预热
3.1. 初始化镜像仓库
平台镜像仓库页面:https://console.suanli.cn/serverless/image
3.2. 镜像上传
信息查看页面:https://console.suanli.cn/serverless/image/credentials
docker login harborpush.suanleme.cn --username=yourname
docker tag [ImageId] harborpush.suanleme.cn/yourname/[镜像名称]:[镜像版本号]
docker push harborpush.suanleme.cn/yourname/[镜像名称]:[镜像版本号]
上传后平台镜像仓库会有对应的镜像

3.3. 镜像预热
若镜像**大于 50G,**请在上传完镜像后联系共绩技术人员提前给此镜像提前做预热,避免过长时间等待镜像下载
4. 存储准备
4.1. 对象存储加速
功能:以 s3 协议将云上对象存储桶内的数据加载到指定集群中,在加速完成后可以被同集群的任务以只读属性进行挂载,没有强制的容量限制;适合存放固定的大体积模型文件,实现模型镜像分离减少镜像体积
对象存储加速配置参考文档:对象存储加速使用说明
配置方式:
配置存储桶的 AKSK 以建立连接,需要此 AKSK 具备 ListObjectsV2、PutObject、DeleteObject 权限

配置完成后,请点击「配置区域」选择需要启用的加速区域。区域配置完成后,可按需点击「预热缓存」选择目录进行数据预热。
使用方式:
创建任务时先指定存储桶并挂载到指定路径即可
二、创建任务
新增部署任务:https://console.suanli.cn/serverless/create
1. 绑定存储
开启「存储配置」— 点击「新增挂载」— 填写挂载路径
/root/.cache/huggingface

2. 选择 GPU 型号和区域
先挂载指定区域后,任务区域会自动限制在存储的指定区域

3. 服务配置 - 选择镜像

方式一:使用预制镜像发布任务
在服务配置中,可以选择平台提供的 **预制镜像,每个镜像均配有文档说明,方便快速了解部署和使用方式。**这里我们随机选择了一个预制镜像。

选择完成后,滚动到页面最下方点击 【部署服务】,提交任务。
方式二:使用用户自定义镜像发布任务

3.1. 配置端口暴露、环境变量

3.2. 启动命令

4. 启动任务

三、检查任务运行状态
1.任务调度状态
刚启动时

任务状态为「运行中」开始计费

2.节点信息查看

监控:该监控页面主要展示当前节点的运行状态、所在区域,以及 CPU、内存、GPU 等资源的实时使用率和历史趋势

日志:查看容器日志信息,只有容器内程序启动后才有

事件:容器启动的事件信息,在任务启动时查看,展示任务调度、镜像下载、任务挂载、启动命令配置等信息

终端:提供一个 webui 界面,可以进入容器内操作和查看信息,有对应的 shell 环境

更换节点:启动一个新的任务,关闭旧的任务,实际效果为将任务进行重启(pod 被重建)

3.终端查看挂载

4.查看端口链接
服务内没有监听对应端口时显示如下

安装 nginx 后


5.任务控制

任务状态为「已停止」结束计费

四、信息补充
- 弹性部署服务不保存镜像状态,也暂不支持 ssh 功能,平台提供 webui
弹性部署服务中运行的任务不会保存其中的状态,每次启动是基于选择的镜像启动的,镜像没变化则启动后都一样,但挂载的共享存储卷保存的内容是可以被持久化的
- 镜像集群下载时间
第一次启动任务时镜像时从公网下载,启动耗时相对较长,同一个集群内后续会建立缓存,减少启动时间
- 节点扩缩容与链接的负载均衡
弹性部署服务中任务若为多节点,端口链接默认是轮询的负载均衡模式
- 终端页面不会保存上一个 shell 页面
点开终端执行的操作记录是标准页面的 bash,如果执行了前台的命令,页面关闭后进程不会保持,后续也无法再进入此 bash,而是进入一个新的 bash
五、名词解释
新增部署
指创建一个新的 Serverless 服务实例,用于分配计算资源并运行指定镜像。
包含内容:
- 资源管理:GPU、CPU、内存等资源分配
- 镜像管理:指定运行环境
- 费用记录:按使用时长生成账单
GPU 型号
GPU 型号代表单个节点的计算能力规格:
- 1 卡 / 2 卡 / 4 卡 / 8 卡:单节点 GPU 数量
- 显存大小:决定可运行模型规模
- CPU / 内存:影响多任务并发能力
- 库存数量:当前可用资源规模
适用场景:
- 1 卡:模型推理、数据处理
- 多卡:分布式训练、高并发计算
显存要求(≥16GB)
显存用于存储模型参数和中间计算数据。
- 16GB:中等规模模型的最低需求
- 24GB(如 4090):可稳定运行主流 AI 推理服务
节点数量
节点代表相同配置的计算实例数量。
- 1 节点:单任务或低并发场景
- 多节点:并行计算或横向扩展
建议先使用 1 个节点 验证任务运行情况,再根据需要扩展。
服务名称
服务名称是当前部署任务的唯一标识。
建议命名规范:用途-日期
示例:image-generation-20250515
便于后续管理、监控和成本统计。
启动命令
启动命令用于覆盖镜像的默认启动行为,允许用户自定义容器启动时执行的指令。
作用:定制服务启动参数、初始化脚本或运行多个程序。
使用场景:
- 为 WebUI 添加额外启动参数(如
--listen --port 7860) - 执行自定义初始化脚本后再启动主服务
- 同时运行训练任务和监控进程
格式:通常为 Shell 命令,例如:

添加端口
指在部署配置中手动指定容器内部服务监听的端口号,使平台能够将外部请求正确转发至服务实例。
-
必要性:自定义镜像必须显式配置端口,平台无法自动识别容器内的服务端口。
-
配置方式:在“服务配置”区域填写端口号(如
7860、8888),需与镜像中实际启动的服务端口严格一致。 -
常见错误:
- 未添加端口 → 服务部署成功但无法访问
- 端口号填写错误 → 访问时出现连接失败或超时
-
注意:同一服务可配置多个端口,但需确保镜像内服务已相应监听;预制镜像通常已预置端口,无需手动添加。