立即体验

选择使用方式

运行在线推理服务

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

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

前置准备

  1. 您已创建账户

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

  3. 您已认证账号

    提示

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

    设置登录密码

  4. 您已激活账号

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

    充值激活账号(浅色)充值激活账号(深色)

开始使用

1. 镜像上传,镜像预热

  1. 初始化镜像仓库

    在VOLCENGING平台创建镜像仓库账密信息
    平台镜像仓库页面:VOLCENGING 控制台

  2. 镜像上传至镜像仓库

    信息查看页面:VOLCENGING 控制台

    Bash
    #登录镜像仓库
    docker login harborpush.suanleme.cn --username=yourname
    
    #修改镜像tag
    docker tag [ImageId] harborpush.suanleme.cn/xiongdw/[镜像名称]:[镜像版本号]
    
    #推送镜像
    docker push harborpush.suanleme.cn/yourname/[镜像名称]:[镜像版本号]
  3. 镜像预热与下载

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

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

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

  1. 对象存储加速(可选)

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

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

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

    对象存储加速 AKSK 配置

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

    说明

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

3. 部署服务

我应该使用哪种方式?

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

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

1. 创建任务

新增部署任务:VOLCENGING 控制台

  1. 绑定存储数据(可选)

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

    注意

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

    选择 GPU 型号和区域
  3. 服务配置-选择镜像

    • 预制服务:平台预先安装好的服务,开箱即用
    • 自定义服务:使用自有镜像,建议上传到平台镜像仓库使用,也支持私有第三方镜像
    选择镜像(浅色)选择镜像(深色)
  4. 配置端口暴露、环境变量

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

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

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

    示例:

    text
    TEST=1
  5. 启动命令

    启动命令配置

    常用配置方式参考:

    • 空跑调试
    Bash
    运行命令 /bin/bash
    运行参数1 -c
    运行参数2 tail -f > /dev/null
    Bash
    运行命令 sleep
    运行参数1 infinity
    • 单行脚本
    Bash
    运行命令 /bin/bash
    运行参数1 /init/init.sh
    
    运行命令 python
    运行参数1 /workspace/entrypoint.py
    • 多行参数
    平台提供的云主机标准启动命令Bash
    运行命令 /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
    其他参考启动命令Bash
    运行命令  /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://\xxxx.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. 任务控制

    任务控制操作

批处理任务

将大量推理请求作为单个任务提交

1. 创建任务

说明

注意:批处理任务不支持修改,如需修改请重新创建

新增批处理任务:VOLCENGING 控制台

  1. 绑定存储数据(可选)

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

    注意

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

    • 抢占式实例:利用闲置算力,价格大幅折扣,若选择此模式,请务必根据您的业务逻辑填写 “单元预估时长”。适合容忍被抢占的任务
    • 按需实例:资源独占,运行绝不中断

    批处理任务选择 GPU 与计费模式

  3. 服务配置-选择镜像

    使用自有镜像,建议上传到平台镜像仓库使用,也支持私有第三方镜像

    批处理任务选择镜像

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

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

    在大多数情况下,您并不需要设置

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

    示例:

    text
    TEST=1
  5. 启动命令

    启动命令配置

  6. 任务策略

    • 单元预估时长(仅 Spot 抢占模式可见,单位:分钟):预期该任务跑完需要多久。系统将依据此时间,为任务寻找合适的时间窗口

    抢占模式单元预估时长

  7. 任务启动

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

2. 检查任务运行状态

  1. 任务调度状态

    • 启动中:

    任务启动中

    • 运行中:

    批处理任务运行中

    • 已停止:

    任务结束后,状态将变为已停止

  2. 任务动态监测

    批处理任务动态监测

  3. 节点事件、日志查看

    节点事件与日志入口

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

    节点操作与更换节点

  4. 终端查看挂载

    终端中查看存储挂载

已完成

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