功能概述
推理多部署能力,即一个推理服务中可以创建多个部署。支持该能力后,用户可以在一个推理服务中使用不同硬件规格的资源类型,从而更加灵活的应对业务需求;支持一个推理服务中同时使用到预付费和后付费能力,在保证业务稳定性的同时能够通过后付费弹性能力及时应对流量高峰。多个部署间用户可以通过多种分流策略来做流量分配,满足推理请求灵活分配的同时也能够实现服务的蓝绿发布、灰度升级能力。
页面交互
创建服务
登录机器学习平台,单击左侧导航栏中的【模型服务】-【在线服务】进入列表页面。
单击列表页面左上方的【+ 创建服务】进入创建页面。
在创建服务页面填写相关参数,具体参数如下:
参数名称 | 参数说明 |
---|
服务名称 | |
服务描述 | 填写对服务的适当描述。 选填 。 支持 1~500 位可见字符。
|
可见范围 | 配置该服务能够在哪些账号范围内可见。选填。 主账号内可见:主账号下所有用户均可查看该服务及详情。 队列内成员可见:拥有所属队列权限的用户均可查看该服务、部署及详情。(同一服务下若多个部署所属队列不同,则只能看到相应所属队列下的部署及详情,服务下其他队列的部署及详情仍不可见。) 指定子账号可见:在指定账号列表中的用户有权限查看到该服务及详情。 仅创建人可见:仅服务创建人有权限查看该服务及详情。
|
私有网络 | |
负载均衡器 | 通过负载均衡提高服务可用性和可靠性,满足服务高访问量的业务场景,选填。 支持 API 网关(七层负载均衡器)和传输层负载均衡器(四层负载均衡器,以下简称 CLB )两种类型负载均衡器,开启负载均衡器后,默认推荐使用 API 网关。 若需要公网访问到该服务,则需要选择配置了公网IP的负载均衡。详见文档 API网关文档和CLB文档。
|
负载均衡调度算法 | |
端口 | 支持自定义监听端口和调用端口,请确保安全组规则已方通需要配置的端口。选填。 监听端口限制范围:1-29999 、32768-65535 。 调用端口限制范围:1-65535 。 API 网关端口用途:支持HTTP/1.1 、HTTP2 、GRPC 、Metrics 、Other 。 CLB 端口用途:支持 HTTP 、RPC 、Metrics 、Other 。 当端口用途为Metrics 时支持额外填写自定义指标的采集路径,平台会将该路径下的指标数据推送到用户指定的 VMP 工作区(需要提前在【全局配置】模块中开启监控归档的功能)。 端口限制:
|
分流策略 | |
新增部署
服务创建完成后,即可跳转「服务详情」页面,在「服务详情」页面您可点击「新增部署」。具体参数说明如下:
参数名称 | 参数说明 |
---|
部署名称 | |
镜像 | 选择推理引擎的镜像。 必填 。您可以选择平台提供的「预置镜像」、或者您自己上传的「自定义镜像」,也可以选择输入「镜像 URL 」。 |
模型 | 配合「模型仓库」,您可以选择「模型仓库」中的模型进行推理操作。 选填 。 |
入口命令 | 推理镜像的启动命令。选填。 |
环境变量 | |
存活检查/就绪检查/启动检查 | 存活检查:用于判断实例是否存活(running 状态),如果存活探针探测到实例不健康,则会杀掉该实例并根据策略进行重启。 就绪检查:用于判断实例是否启动完成(ready 状态),可以接收请求。 启动检查:用于判断应用是否已经启动,如果提供了启动探针,则禁用所有其他探针,直到它成功为止。如果启动探针失败,平台将杀掉实例并根据策略进行重启。
配置检查的方式,包括: HTTP 请求检查:使用 HTTP 或 HTTPS 协议,向容器发送一个 HTTP Get 请求,通过检查响应确认容器状态。您需要进行如下检查配置: TCP 端口检查:向容器发送一个TCP Socket ,Kubelet 将尝试在指定端口上打开容器的 Socket 。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。您需要进行如下检查配置: 执行命令检查:在容器内执行指定的命令,通过检查命令执行的结果确认容器状态。 您需要进行如下检查配置:
配置检查的时间参数,包括: 配置检查的结果阈值。包括: |
优雅关闭时间 | 实例下线前等待一段时间来处理该实例已经接收的请求,以减少实例变更带来的请求报错,默认设置为30 秒。选填。 |
所属队列 | 选择部署的队列,队列的可用区将影响子网的可用区选择。即确定选择的队列后,会根据当前选择队列的可用区过滤服务私有网络下相同可用区的子网。必填。 |
计算规格 | |
实例数 | |
优先级 | 与自定义任务的优先级配置一致,详见发起单机/分布式训练任务。 |
使用闲时资源 | 开启“使用闲时资源”的部署可以使用当前或其他队列(支持空闲资源出借)中的空闲资源。但开启后,部署中的实例随时可能会因为被抢占而停止并触发迁移操作。请谨慎选择。默认为关闭状态。 |
NUMA 亲和 | 部署新增支持 NUMA 亲和能力。即 CPU 和 GPU 调度时符合 NUMA 亲和策略。默认为关闭状态。 开启后,当前部署下所有实例都将优先调度到满足 NUMA 亲和的节点,但最终调度结果还需以环境实际情况判断。 建议仅针对访存密集型任务开启 NUMA亲和。计算密集型任务在开启 NUMA 亲和后会带来性能下降风险。 当使用的GPU卡数/CPU核数超出机型规格一半以上的时候,即GPU/CPU本身跨NUMA 时,不存在 NUMA 亲和策略。
|
自动扩缩容 | |
滚动更新 | |
共享文件系统挂载 | 平台提供多种存储方案,并支持以共享文件系统的方式挂载到实例中。用户可以在尽量不修改代码的前提下,像操作本地文件一样地操作远端数据,并且在推理实例停止或者删除后远端数据也不会丢失。详细操作可参考:挂载共享文件系统 |
子网 | 子网的可用区需要与部署所选队列的可用区保持一致,因此需要先选择部署使用的队列资源,才能过滤出相同可用区内可用的子网。必填。 |
安全组 | 请确保选择的「安全组」已放通需要配置的服务和部署的端口。必填。 |
部署独立负载均衡器 | 除了服务挂载的负载均衡器,每个部署都支持额外单独配置负载均衡器。同样支持 API 网关和CLB两种负载均衡器类型。选填。 通过部署独立的负载均衡器,可以用来支持调试场景,或者特定流量请求的处理。 一个部署可以同时处理服务负载均衡器的流量以及部署独立负载均衡器的流量。
|
端口 | 支持部署中新增自定义监听端口和调用端口,但请确保安全组规则已方通需要配置的端口。选填。 监听端口限制范围:1-29999 、32768-65535 。 调用端口限制范围:1-65535 。 API 网关端口用途:支持HTTP/1.1 、HTTP2 、GRPC 、Metrics 、Other 。 CLB端口用途:支持 HTTP 、RPC 、Metrics 、Other 。 当端口用途为Metrics 时支持额外填写自定义指标的采集路径,平台会将该路径下的指标数据推送到用户指定的 VMP 工作区(需要提前在【全局配置】模块中开启监控归档的功能)。 端口限制:
|
承接流量 | |
兼容说明
推理多部署能力支持向前兼容,即现有已创建的推理服务在升级为多部署形态后,会默认变为一个推理服务,并且该推理服务下存在一个 Default 部署,其他配置皆相同。此时在当前服务下第一次执行新增部署或者更新、编辑 Default 部署都会触发 Default 部署重新部署。建议在执行操作前将 Default 部署的「滚动更新」策略中「最大不可用比例」设置 < 100%,即至少保留一个实例在可用状态以完成滚动更新,否则重新部署会影响服务的可用性。