Skip to main content

创建服务

在大模型推理(LLM Inference)模块中,点击 Create(创建)进入创建表单。 图片 图片

创建服务流程

使用模版快速创建

点击”使用推荐模版”,点击单选按钮选中模版。选中模版后,推理配置、监控配置和一些加速的高级配置都会自动填充。如果无需确认,可以直接点击提交;需要确认或修改则点击下一步查看参数进行确认。 图片

填写推理参数创建

图片 填写大模型服务配置,包括四部分:基本配置、推理配置、监控配置和高级设置。

参数说明

推理引擎中 custom 模式的角色配置界面如下: 图片

探活配置说明

Readiness / Liveness 配置说明 readinessProbe 和 livenessProbe 都是服务健康检查配置,但用途不同:
  • readinessProbe:判断服务是否已经准备好接收流量。检查失败时,服务不会被分配新请求。
  • livenessProbe:判断服务进程是否还活着。持续检查失败时,平台可能会重启服务实例。
什么时候需要配置
  • 如果服务有明确的健康检查接口,建议配置 readinessProbe。
  • 如果希望平台在服务卡死、进程异常但容器还没退出时自动恢复,可以配置 livenessProbe。
支持的检查方式 当前支持三种探测方式:
  • http:访问一个 HTTP 健康检查地址,比如 /health 或 /ready
  • tcp:检查某个端口是否可以连接
  • exec:在容器内执行一条命令,根据命令是否成功判断健康状态
常用参数
  • probeType:探测方式,可选 http、tcp、exec
  • timeoutSeconds:单次检查的超时时间
  • periodSeconds:每隔多久检查一次
  • initialDelaySeconds:服务启动后,等待多久再开始第一次检查
  • successThreshold:连续成功多少次后认为恢复正常
  • failureThreshold:连续失败多少次后认为检查失败
HTTP 探测需要配置
  • probePath:健康检查路径,例如 /health
  • probePort:健康检查端口
  • probeScheme:协议,一般是 HTTP,也可以是 HTTPS
  • probeHttpHeaders:可选,如果健康检查接口需要特殊请求头,可以配置
适合场景:服务提供了健康检查接口。 TCP 探测需要配置
  • probePort:要检查的端口
适合场景:只需要确认服务端口是否能连通。 Exec 探测需要配置
  • probeCommand:要执行的命令
适合场景:需要在容器内部检查文件、进程或自定义状态。 默认行为
  • 如果配置了探针但没有填写端口,系统会尽量使用服务端口作为探测端口。
  • 对于常见推理服务,HTTP 探测路径通常默认是 /health。
  • 如果没有配置 probeType,则不会启用对应探针。
注意事项
  • livenessProbe 不要配置得太激进,否则服务启动慢或短暂繁忙时可能被频繁重启。
  • 一般建议先配置 readinessProbe,确认服务准备好后再接收流量;livenessProbe 用于处理真正需要重启恢复的异常。
  • 注:这里需要考虑服务初始化(模型加载、引擎初始化)的时间,一般超时时间模型参数 72B 以下设置 60,模型参数 400B 以上设置 300,可以根据实际情况调整。
  • 注:sglang 提供的探活接口:/health;vllm 提供的探活接口:/health。

查看 & 运维服务

服务列表

图片 服务列表分为两部分:
  • 个人服务:普通用户可以看到个人的服务,管理员用户可以看到当前租户下所有的服务
  • 分享列表:展示其他人分享的服务
服务状态:展示服务的运行状态,鼠标移到问号上可以看到服务状态的详细说明。 请求链接:
  • 测试链接:仅供测试,不保障稳定性
  • 生产链接:
    • 同集群内访问:走 k8s service 域名访问
    • 公网访问:互联网可以访问,超时时间为 100 小时,支持 10w 连接数,请求体最大 500m
可操作项:
  • 搜索:可以按服务名、状态、创建人进行检索,服务名是模糊查询
  • 新建:新建服务
  • 批量操作:批量删除 / 上线 / 下线
  • 更新:更新服务配置
  • 分享:分享给其他人,被分享的人在分享页可以看到该服务
  • 创建为模版:把服务保存为模版

更新服务

在服务运行的过程中,更新只支持更新非资源相关的参数,更新不会进入排队。服务下线后可以更新任何参数。

实例列表

实例列表展示服务实例,按角色分块展示。
  • 重启:销毁实例重建
  • 实时日志:实例的日志,支持筛选,查看上一次运行日志、下载日志等
图片
  • 监控:每个 pod 的资源监控
  • 搜索:按名称进行模糊搜索
  • 自动刷新:默认开启自动刷新实例列表,可以关闭
图片

实例状态说明

注:状态旁的问号(?)会有当前状态更详细的说明。

服务扩缩容

手动扩缩容

点击服务列表里的扩缩容,进行服务的垂直扩容(单节点的资源配置)、水平扩容(副本数增减)。修改副本数或者单节点资源配置的时候,可以同步修改 TP、DP 等参数。
  • 注:如果仅修改副本数,则不会触发滚动更新。
  • 注:服务在扩缩容中可以操作继续扩容或者缩容。
图片

弹性扩缩容

在服务配置 -> 高级配置中,可以打开弹性扩缩容,目前支持两种弹性方式:定时和根据指标进行扩缩容。 图片
定时扩缩容
配置时间点和目标副本数,在指定的时间点,伸缩对应的服务。 图片
按指标进行伸缩
参数说明:
  • 目标角色:伸缩服务的目标角色,比如单机时伸缩 worker
  • 规则:配置指标 + 阈值 + 动作,在检测到指定指标到达某个阈值后,进行扩容或者缩容
  • 指标计算方式:指标检测的方式,在一个窗口内对指标进行 avg/p95 等统计
  • 采集窗口:指标检测窗口
  • 采集间隔:拉取指标的间隔
  • 每次扩容/每次缩容:扩缩容的 step
  • 最小副本数:服务的最小副本数
  • 最大副本数:服务的最大副本数
  • 冷却时间:扩缩容完成后多久进行下一次指标检测
图片

监控告警

  • Metric 端口、路径配置,指标会通过这个接口采集到 prometheus。
引擎默认端口,如果不配置会默认使用对应的默认端口:
  • Vllm 默认端口 8000
  • Sglang 默认端口 30000
  • PD 分离后 Sglang 默认端口 30000,metric 默认端口 9090
图片
  • 查看监控指标进入详情页,切到监控 Tab 页,选择资源监控(Resource Monitor),查看 CPU/GPU/Memory 利用率。Vllm 引擎:查看 Vllm Monitor 页面,会展示 vllm 引擎的指标,分别按照 Service、Instance 维度进行展示。Sglang 引擎:查看 Sglang Monitor 页面,会展示 Sglang 引擎的指标。
    • 查看资源监控
    图片
    • 查看引擎监控
    图片
  • 告警规则:目前只支持 Service Error 告警。
图片
  • 通知方式:需要在告警中心进行订阅。
在告警中心中订阅告警,选择 inference、service error 进行订阅。 图片

事件列表

现在服务可以在 Event Tab 页查看服务完整事件列表。 图片

权限管理

权限说明

  • 普通用户:列表仅能看到自己的和其他分享的服务
  • 租户管理员:列表里可以看到当前租户下的所有服务,并且可以操作

分享服务

  • 分享给其他用户:点击列表里对应推理服务的分享按钮,选择分享人,提交,对应的用户即可在分享列表里看到推理服务
  • 取消分享:点击分享,删除对应用户
图片

服务调度

针对于每个服务副本会默认执行 gang 调度,即该副本中所有角色都有资源能够启动才会调度分配资源。PD 分离服务比较特殊,整体可以看作一个副本,包含 router、prefill、decode,整体可以调度时才会调度分配资源。

自定义监控看板

在监控页面可以自定义监控看板,展示需要的指标。

创建自定义看板

参数说明: 图片

自定义看板展示

图片

智能路由

默认的服务流量是 round robin 策略分发到每一个服务副本上,开启智能路由以后,将会由 router 来管理流量分发,会根据配置的策略分发流量。

服务创建时配置智能路由

点击添加 server,添加智能路由角色,配置路由策略。server 需要占用一部分资源,如果需要保证可用性,推荐部署 2 个副本以上。 支持的智能路由策略: 图片

分布式 KV Cache 缓存

服务创建时可以选择打开分布式缓存。

缓存配置

缓存类型:Standalone Cache(独立缓存服务)/ Mixed Cache(混部缓存服务)
  • Standalone Cache(独立缓存服务):为独立缓存服务,可以通过通用服务部署一个项目内共享的缓存服务,然后在这个地方填写缓存地址。
  • Mixed Cache(混部缓存服务):使用实例的一部分内存进行混部缓存服务,这里需要填写占用的内存比例,同时需要配置一个 cache manager 去提供中心节点服务。
Standalone Cache(独立缓存服务)配置如下: 图片 混部配置如下: 图片