共绩科技
共绩科技

选择使用方式

运行在线推理服务

把镜像部署为一个随时可访问的 API 服务,并按需伸缩节点数量

构建镜像程序,选择 GPU 设备,暴露端口,发送您的业务请求,按需弹性伸缩,按秒进行计费

前置准备

1

您已创建账户

2

您已经在本地安装了 Docker 或您已有 Docker 镜像

3

您已认证账号

设置密码方便后续登录(可选)

设置登录密码

4

您已激活账号

充值任意数额激活账号,建议首次充值 10 元

充值激活账号(浅色)

开始使用

1. 镜像上传,镜像预热

1

初始化镜像仓库

在共绩平台创建镜像仓库账密信息
平台镜像仓库页面:https://console.suanli.cn/serverless/image

2

镜像上传至镜像仓库

信息查看页面:https://console.suanli.cn/serverless/image/credentials

#登录镜像仓库
docker login harborpush.suanleme.cn --username=yourname

#修改镜像tag
docker tag [ImageId] harborpush.suanleme.cn/xiongdw/[镜像名称]:[镜像版本号]

#推送镜像
docker push harborpush.suanleme.cn/yourname/[镜像名称]:[镜像版本号]
3

镜像预热与下载

若镜像 大于50G 请在上传完镜像后 联系共绩技术人员开启镜像预热功能,加速任务的启动过程

镜像上传后也可以直接创建任务,镜像初次下载参考速率为1min/G,若镜像为20G,初次下载耗时约20-30min

2. 数据准备(存储准备)

1

对象存储加速(可选)

通过 s3 协议,您无需浪费 GPU 资源即可将云上数据加载到集群中。您可以在服务启动之前加载数据集,在加速完成后,被同集群的任务以只读属性挂载,提高服务冷启动性能。适合存放固定的大体积模型文件,实现模型镜像分离减少镜像体积

对象存储加速配置参考文档:对象存储加速

  • 配置方式:配置存储桶的 AKSK 以建立连接,需要此 AKSK 具备 ListObjectsV2PutObjectDeleteObject 权限

对象存储加速 AKSK 配置

  • 使用方式:创建任务时先指定存储桶并挂载到指定路径即可

注意:对象存储加速是只读服务,且存在少量不支持的集群,建议先准备数据,再运行服务。

3. 部署服务

我应该使用哪种方式?

你要的结果
部署长期在线服务,通过 url 访问,并支持弹性扩缩容 弹性服务部署
通过请求 url 获得参数变量 弹性服务部署
每个推理请求都对应一个独立任务 批处理任务
通过环境变量或启动命令等设置任务变量 批处理任务

部署长期在线服务,通过 API 访问,并支持弹性扩缩容

1. 创建任务

新增部署任务:https://console.suanli.cn/serverless/create

1

绑定存储数据(可选)

  1. 打开存储按钮
  2. 选定需要挂载的卷
  3. 点击新增挂载
  4. 配置挂载的目录
绑定存储挂载(浅色)
2

选择 GPU 型号和区域

注意:存储桶和 GPU 必须为同一区域集群

选择 GPU 型号和区域
3

服务配置-选择镜像

  • 预制服务:平台预先安装好的服务,开箱即用
  • 自定义服务:使用自有镜像,建议上传到平台镜像仓库使用,也支持私有第三方镜像
选择镜像(浅色)
4

配置端口暴露、环境变量

  • **端口暴露:**通过暴露并转发镜像内部端口,使您的服务可以从互联网访问

例如:您的Nginx服务,需要对外暴露80端口

  • **环境变量配置:**以 KEY=VALUE 的形式添加环境变量

示例:

TEST=1
5

启动命令

启动命令配置

常用配置方式参考:

  • 空跑调试
运行命令 /bin/bash
运行参数1 -c
运行参数2 tail -f > /dev/null
运行命令 sleep
运行参数1 infinity
  • 单行脚本
运行命令 /bin/bash
运行参数1 /init/init.sh

运行命令 python
运行参数1 /workspace/entrypoint.py
  • 多行参数
平台提供的云主机标准启动命令
运行命令 /bin/bash
运行参数1 -c
运行参数2 
/init/init.sh

cat > /etc/supervisord.conf << 'EOF'
[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr

[program:code-server]
command=/usr/bin/code-server --bind-addr 0.0.0.0:62661
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr

[program:jupyterlab]
command=/opt/miniconda3/bin/jupyter-lab --ip=0.0.0.0 --port=8888 --allow-root --no-browser
directory=/root
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
environment=HOME="/root",PATH="/opt/miniconda3/bin:%(ENV_PATH)s"

EOF

exec supervisord -c /etc/supervisord.conf
其他参考启动命令
运行命令  /bin/bash
运行参数1 -c
运行参数2 cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/ && catalina.sh run

运行命令 /bin/bash
运行参数1 -c
运行参数2 GRADIO_ROOT_PATH=$(echo "$HOSTNAME" | sed -E 's,^(([^-]+-){3}).*,https://\17860.550c.cloud,') .venv/bin/python webui.py

运行命令 python3
运行参数1 -u
运行参数2 main.py
运行参数3 --cw-mode=server
运行参数4 --disable-pinned-memory

运行命令  /bin/sh
运行参数1 -c
运行参数2 vllm serve Qwen/Qwen3-VL-8B-Instruct
运行参数3 --tensor-parallel-size 2
运行参数4 --limit-mm-per-prompt.video 0
运行参数5 --limit-mm-per-prompt.image 1
运行参数6 --async-scheduling
运行参数7 --gpu-memory-utilization 0.95
运行参数8 --max-model-len 4K
运行参数9 --max-num-seqs 256

运行命令 /bin/bash
运行参数1 -c
运行参数2 
set -Eeuo pipefail
mkdir -p /init
cat >/init/init.sh <<'RAY_CLUSTER_INIT'
# ... 整个 Ray 引导脚本,任意长 ...
RAY_CLUSTER_INIT
chmod +x /init/init.sh
export RAY_NODE_ROLE=worker
exec /init/init.sh
6

任务启动

阅读并同意隐私协议后,点击部署服务,将开始调度您的任务

2. 检查任务运行状态

1

任务调度状态

  • 启动中

任务启动中

  • 运行中

弹性服务运行中

2

节点事件、日志查看

节点事件与日志入口

  • 日志:查看容器日志信息,只有容器内程序启动后才有
  • 事件:容器启动的事件信息,在任务启动时查看,展示任务调度、镜像下载、任务挂载、启动命令配置等信息
  • 终端:提供一个webui界面,可以进入容器内操作和查看信息,有对应的shell环境
  • 更换节点:启动一个新的任务,关闭旧的任务,实际效果为pod被重建

节点操作与更换节点

3

终端查看挂载

终端中查看存储挂载

4

查看端口链接

服务内没有监听对应端口时显示如下

端口未监听时的链接状态

安装nginx后

安装 nginx 后的端口链接

5

任务控制

任务控制操作

恭喜!您已成功部署并测试了您的第一个在线服务。