跳到主要内容
更新时间:2025-11-15 04:37:04

【服务编排】

面向复杂应用场景,需用户预先在平台创建应用(定义应用名称、应用版本、镜像、模型、相关存储挂载、代码等配置),部署时选择已维护的应用版本并补充运行时参数(如实例数、启动命令、高级配置等),即可完成服务发布。支持多版本并行管理,适用于需持续迭代、高可用保障的推理场景。

服务编排支持以下灵活部署模式:

多模型协同部署:可在同一服务中部署多个模型,适用于级联推理、模型融合等复杂逻辑。
服务间调用关系:多个服务之间可存在调用依赖(如 A 服务调用 B 服务),调用逻辑由用户代码自行实现。
独立服务并行运行:各服务也可完全独立,无调用关系,适用于并行处理不同任务的场景
⚠️ 说明:服务间的调用关系由用户在推理代码中实现,平台负责服务的部署、扩缩容与生命周期管理。

操作步骤

创建应用​

1、注册并登录平台;

2、打开在线推理——>服务编排——>应用管理,点击页面左上角创建应用按钮打开创建页面;

3、在创建应用页面填写相关参数,具体参数如下:

参数名称参数描述
应用名称
  • 必填项,用以记录当前应用的名称信息;
  • 输入限制:128字符以内,除表情符号等不常见字符外,其他字符均可输入;
应用版本
  • 必填项,用以记录当前应用下的的具体版本信息;
  • 默认版本号为0.0.1,支持用户自定义,点击创建应用时默认创建一个新应用的第一个版本;
  • 应用版本在应用内不允许重复;
  • 输入限制:版本号信息,格式需为“数值.数值.数值”其中数值为1-2位整数,注意: 版本不可以出现例如01.01.01等以0开头的版本号形式。
应用描述
  • 选填项,支持用户对当前应用的场景等信息进行维护管理;
  • 输入限制:不超过500字符;
镜像选择
  • 必填项,构建当前模型运行时的运行环境;
  • 部署应用时使用的镜像类型,可选择平台镜像、私有镜像或共享镜像
选择模型

支持用户挂载存储目录下的数据,选择存储目录后,用户可自行修改容器内的挂载路径,系统将提供默认路径,用户也可自定义挂载路径

注意:同时挂载多个存储路径时挂载路径不允许重复,否则无法成功创建任务。

  • 支持用户选择挂载存储路径,挂载时需确保提前已在文件存储模块创建并维护好数据集目录。

image.png
  • 支持用户选择挂载模型,挂载时需确保提前已在模型管理模块创建并维护好模型目录。
image.png
代码配置
  • 选填项,关联运行模型时的代码文件;
  • 部署应用时使用的代码库类型,可选择私有仓库或公开仓库,并输入相关的代码库信息(模块授权代码、代码库、分支等);具体操作参考可见代码管理;

用户完成以上信息后,点击确认即保存,后续在部署服务时可直接选择使用。

应用版本管理​

应用是以版本的方式对过程中的版本进行管理,单个应用下可创建并维护多个版本信息。

1、创建应用信息,并关联当前应用的第一个版本信息;

2、在应用管理页面选择对应的应用,并在其后方的操作列点击”创建新版本“支持为当前应用维护新的版本信息,多个应用之间无关联,用户后续选择部署版本时将优先选择应用再选择版本;

3、点击应用进入应用详情页面,在应用详情页点击左上角的创建新版本进行新版本创建;

image.png

删除应用/版本​

  • 删除应用:用户点击进入应用管理页面,在应用管理页面中选择对应的应用并进行删除;
  • 删除时,若当前应用下有多个版本,将对其一并删除;
  • 删除应用对正在运行的在线推理服务没有影响;
  • 删除应用后,若在线服务暂停,并重新启动,将无法正常启动(在线推理服务侧将重新拉取服务所需的部署资源);

image.png

  • 删除版本:进入应用管理页面,选择对应的应用,点击应用名称进入应用详情页,可选择特定版本进行删除;
  • 删除应用对正在运行的在线推理服务没有影响;
  • 删除应用后,若在线服务暂停,并重新启动,将无法正常启动(在线推理服务侧将重新拉取服务所需的部署资源);

image.png

部署服务编排

在线推理服务编排是指在一个推理服务中,支持将多个应用/模型进行部署,用户可以根据实际的模型运算需求,设定不同应用的资源类型和资源量,以更加灵活的方式满足用户的部署需求。为保证推理服务的稳定运行,平台提供弹性伸缩,以应对服务闲忙时期的资源动态适配。

前提条件​

用户若需要部署服务编排,需提前在应用管理中创建并维护好应用的版本信息。

操作步骤​

1、打开在线推理——>服务编排——>服务部署,点击页面左上角部署按钮打开相应页面;

2、在服务部署页面填写相关参数,具体参数如下:

参数名称参数描述
服务名称
  • 必填项,用以记录当前部署的服务信息;
  • 输入限制:128字符以内,除表情符号等不常见字符外,其他字符均可输入;
选择资源池(资源类型)
  • 必填项,支持用户选择专属资源或公共资源;
  • 默认选择公共资源;
  • 全局参数;
服务配置信息
  • 必填项,默认不添加新的子服务,只部署一个子服务;
  • 全局参数;
a. 选择应用
  • 必填项,支持用户选择不同应用及版本信息;
  • 单个服务内配置;
b. 实例数
  • 必填项,设置当前子服务部署应用的示例信息,需输入1-24之间的整数;
  • 单个服务内配置;
c. 实例规格
  • 必填项,设置单个应用实例的部署资源,用户可按需配置;
  • 单个服务内配置;
d. 共享内存
  • 请确保其大于64MB,且不超过套餐内存;任务将优先采用页面填写值,未填写则按套餐内存执行;
  • 单个服务内配置;
e. 单服务内部地址
  • 必填项,用户可自定义配置,但是在单服务场景下该参数不做实际应用;该参数是在多个服务之间内部的调用地址,如内部地址填写的是name,则服务访问路径为:http://${name}:${port},port即下面的f.端口号
  • 单个服务内配置;
f. 端口号
  • 必填项,部署应用时使用的端口号,需要与用户代码里或者镜像里服务监听的端口号一致,长度不超过6位数字,范围为1-65535;
  • 端口号用于在后续多个子服务部署时,实现子服务间的通信,单个应用配置特有的之外外部访问的端口信息;
g. 环境变量
  • 选填项,部署应用时设置的环境变量,包含Key和Value,这里主要是用户代码里使用到的环境变量的设置;
h. 启动命令
  • 选填项,支持用户设置相关启动命令;
  • 应用启动时的启动命令,默认为sh -c,如果用户使用到bash的话,则可以加上bash 关键字,支持如下这些格式:
    • "bash" "-c" python llm_server.py
    • "bash" "python llm_server.py"
    • sh" "-c" python llm_server.py
    • "sh" "python llm_server.py"
    • bash python llm_server.py
    • "sh" python llm_server.py
    • sh python llm_server.py
    • sh -c python llm_ser
  • bash -c 'cd /code/stable-diffusion-webui-async-master_zk;python3 -u webui.py --listen --port 7860 --api --allow-code --enable-insecure-extension-access --medvram --xformers --skip-version-check --no-hashing --no-download-sd-model --skip-prepare-environment --api-log --time-log --ckpt-dir /input/col-models/col-sd 2>&1 | tee webui.log'  
    • 对于比较复杂的推理的启动命令,暂不支持启动命令带反斜杠\ ,可以参考这个 命令的格式,使用sh -c 或者bash -c 开头,后面用单引号包裹复杂的命令
网关配置
  • 必填项,部署多应用推理服务时,需明确指定一个服务对外暴露公网访问地址;路径如果是/的话,多个服务都可以通过公网进行访问,如果想只暴漏其中一个子服务在公网,则路径和其中一个自服务的路由一致即可。

    如A服务的url是/api/v1, B服务是/api/v2,用户如果指向暴露A服务到公网,网关配置可以选择服务A,同时网关的路径可以配置/api/v1;如果想暴露A、B两个服务到公网,则网关配置可以随便选择A或者B,路径只配置/即可。

  • 配置服务的网关路径,需要跟用户代码或者镜像里的推理服务中的路由url路径一致;即服务代码中定义的访问路径前缀。例如,若代码定义了路由 /api/v1 ,此处可填写 /、/api 或 /api/v1 ,请根据您希望暴露的路径层级进行选择。

    image.png
单次部署失败最大重试次数
  • 必填项,支持用户配置最大的失败重试机制;最小2次,最多5次,配置后对于有异常导致自动重启的推理服务,超出设置数量后将不再重试,并且系统将在服务重试次超过配置的次数后置为失败状态并清理相关资源,减少异常资源占用您的算力资源;
  • 全局配置;
API认证
  • 选填项,支持用户开启和关闭API认证方式;开启后,用户通过API访问时需输入认证信息;
  • 全局配置;
最长等待时间
  • 选填项,任务提交后的最长等待时间,超出则置为失败,减少无效等待时间;
  • 全局配置;
弹性伸缩
  • 选填项,⽀持基于监控指标的弹性伸缩⽀持,允许您根据实际需求灵活地进行资源扩缩,您可以选择自定义资源指标(如GPU利用率、GPU利用率显存、cpu利用率、内存利用率、推理服务http请求QPS指标等)作为扩缩容依据,以确保资源的高效利用和系统的稳定运行
  • 最小实例数:设置系统在任何情况下至少保持运行的实例数量。建议根据业务最低需求设定,避免资源浪费。当开启serverless功能时,此处默认是0
  • 设置系统在任何情况下最多可扩展到的实例数量。请根据您的套餐内存大小和预算合理设定,避免超出限制。
  • 0 <= 最小实例数 <= 实例数 < 最大实例数
  • 全局配置;
image.png

信息确认后,点击确认按钮,系统将进行推理服务的部署启动。

API认证​

  • 用户创建推理服务,开启API认证后,可在服务详情页——>基础信息查看服务信息:

image.png

  • 可通过接口请求工具进行接口访问。如postman。可将key和token值写进Headers中:

image.png

弹性伸缩​

弹性伸缩允许用户根据应用程序的负载情况自动增加或减少 Pod 的数量,以确保应用程序的性能和可用性。通过自动监控应用程序的负载度量指标,并根据负载情况自动增加或减少 Pod 的数量,以满足应用程序的性能和可用性要求。这样可以更好地应对流量波动和负载变化,同时提高集群资源利用率。使用该功能时有以下注意事项:

  • 在服务部署页面的高级配置模块打开开启弹性伸缩的开关;
  • 用户可按需配置扩缩容指标和实例范围,实例范围为1-100;
  • 平台将根据用户对服务的请求情况以及资源使用情况动态实现实例副本的扩缩;
  • 每个指标只可设置一次,单个服务最多可设置5组指标,指标间为或关系,满足一条即触发扩缩容;
  • 注意:与单应用服务不同的是,多应用服务将对单个子服务进行灵活的弹性伸缩处理,针对复杂的推理服务,可确保请求量较少的服务尽量节省资源占用,当前弹性伸缩的配置是对每个子服务都生效的;

扩缩容指标包括:

CPU利用率阈值:指标范围为10%-100%,服务运行时资源超出阈值后,将按需进行实例扩充;

内存使用率阈值:指标范围为10%-100%,服务运行时资源超出阈值后,将按需进行实例扩充;

GPU利用率阈值:指标范围为10%-100%,服务运行时资源超出阈值后,将按需进行实例扩充;

GPU显存使用率阈值:指标范围为10%-100%,服务运行时资源超出阈值后,将按需进行实例扩充;

HTTP请求QPS指标阈值:指标范围为20-无上限 次/秒,服务运行时资源超出阈值后,将按需进行实例扩充;

image.png