跳到主要内容

模型服务

将就绪的部署发布为模型服务,应用即可使用 API 密钥调用。 调用已有服务从 **My services(我的服务)**开始;发布服务使用 Model services(模型服务)。

调用已发布的模型​

  1. 打开 My services。
  2. 在 **Gateway connections(网关连接)**中,点击目标集群旁的 Copy(复制)。
  3. 找到模型,点击 cURL。
  4. 在 cURL examples 中复制请求,保留示例中的地址和请求头。
  5. 将 lens-mk-... 替换为你自己的 API 密钥。
  6. 在终端运行请求,确认模型返回回复。

需要记录流式请求用量时,保留 "stream_options": {"include_usage": true}。 生成的聊天示例已包含此设置。

创建并保存 API 密钥​

  1. 打开 API keys(API 密钥),点击 New key(新建密钥)。
  2. 在 **Key name(密钥名称)**中填写便于识别的名称,点击 Create(创建)。
  3. 在 Copy your key now 中点击 Copy and save。完整密钥会复制到剪贴板并关闭弹窗;密钥只显示一次,请妥善保存。

完整密钥只显示一次,不要分享给其他用户或写入代码仓库。

重置或吊销 API 密钥​

  1. 打开 API keys。
  2. 重置默认密钥:点击 Reset,然后在 Copy your key now 中点击 Copy and save。
  3. 吊销密钥:打开该行操作,在 Revoke API key 中点击 Revoke。

旧密钥会失效。重置后请更新所有使用旧密钥的客户端。

创建模型服务​

  1. 打开 Model services,点击页面右上角 Reconcile 旁的天蓝色 Add model(添加模型),展开与页面等高的右侧抽屉。
  2. 选择部署所在的 Cluster(集群)。
  3. 选择 Provider。仅列出当前集群中就绪且尚未添加到模型的部署;已有提供方即使离线或权重为 0,也不会再次列出。
  4. 在 Model name mapping 中核对只读的 Provider model name,它由所选部署自动填充。
  5. 在 Exposed to users as 下方,从当前集群的建议列表选择已有的 Public model name,或输入新名称,例如 team-chat。应用在 Chat Completions API 的 model 字段中使用此公开名称,而不是提供方的模型名称。
  6. 点击 Add。新名称会同时创建模型服务和模型服务器;同一集群中的已有名称会向该模型添加部署并复用 HTTPRoute。点击 Cancel 放弃操作。
  7. 在 **Service flow(服务流程)**中检查状态,然后到 My services 复制 cURL 请求进行调用。

每个字段名称旁都有问号图标,悬停或通过键盘聚焦可查看说明。切换集群会清空提供方选择和 提供方模型名称。没有就绪部署时,界面会明确说明原因。新模型的两个记录在同一事务内创建, 任意一个保存失败都不会留下部分记录。

向已有模型添加部署时,提供方模型名称必须一致。已有权重保持不变,新提供方默认权重为 1;网关和模型路由会自动调谐。通过 Traffic distribution 可调整流量比例。 如果配置已保存但应用失败,错误会明确说明部署已经添加。

筛选服务流程​

使用 Service flow 上方的 Cluster、Model service status 和 Public model name 筛选拓扑。集群默认是 All clusters;状态可选 All statuses、Active 和 Disabled。公开模型名称支持部分匹配, 忽略大小写和首尾空格,并提供所选集群内的名称建议。所有条件同时生效。

按模型名称或状态筛选时,没有匹配服务的集群会隐藏;只选集群时,即使没有模型, 也保留 Gateway 和 IPP。点击重置图标 Clear filters 恢复完整拓扑。 自动刷新保留筛选条件,不改变提供方状态、权重、路由或页面级 Reconcile 的作用范围。

图能完整容纳时水平居中。内容超出视口时,按住鼠标左键拖拽背景或非交互卡片可以移动视图, 也支持滚动条、触屏滚动和画布聚焦后的方向键。按钮、菜单和帮助链接仍可正常操作。

停止模型服务或将部署离线​

在公开模型名称旁的三线菜单选择 Stop serving 或 Resume serving。 停止服务会禁用公开入口并移除 HTTPRoute;恢复时只向在线且权重为正的提供方路由, 不会自动恢复离线的提供方。

部署名称旁的菜单提供 Take offline / Bring online、Manage 和移除操作。 有部署读取权限时,Manage 打开 Deployments,并在搜索框中填入该部署的 namespace。离线提供方保留关联和已有权重,但不参与路由;重新上线要求部署已就绪。 权重为 0 时仍是 Standby,上线部署不会恢复已停止的父模型。

这些操作不缩容 Pod,也不释放加速器资源。其他在线提供方按剩余相对权重分配请求。 最后一个有流量的提供方离线后会移除路由,模型显示 No traffic,允许全部提供方离线。 正在处理的请求可能继续完成,Gateway 配置在控制器应用后生效。

模型状态标签紧邻模型名称右侧。Serving 表示模型已启用,且至少有一个在线、 正权重的提供方;组件健康状态单独显示。 页面将 Stopped、Offline、Standby 与组件健康状态分开显示。 健康轮询不会撤销离线选择,也不会重新安装刻意停止的路由。路由应用失败时显示 State saved; Gateway reconciliation failed,保存的状态不回滚,修复后可用 Reconcile 重试。模型操作需要模型组管理权限,部署操作需要成员管理权限。 通知显示在右下角浮动卡片,不挤压拓扑;普通通知六秒后消失,错误保留到关闭、 成功刷新清除或重试。

在部署间分配流量​

  1. 打开模型名称旁的三线菜单,选择 Traffic distribution,展开右侧抽屉。 也可点击 HTTPRoute 与各 deployment 连线分叉处的天蓝色圆形按钮。 两个入口在鼠标悬停时都会说明相对权重、standby 和离线提供方的含义。
  2. 检查集群和各部署名称右侧的小状态标签。下一行并排显示 Weight、权重输入框和配置的流量百分比。
  3. 用 Add deployment 选择同一集群、模型名称一致的就绪 llm-d 部署,默认权重为 1。
  4. 设置相对权重,例如 90 和 10,表示大约 90% 和 10% 的请求。
  5. 点击 Save and apply 保存完整分配并调谐共享 HTTPRoute;Cancel 放弃草稿。

权重为 0 到 1,000,000 的整数,遵循 Gateway API 规范, 不要求总和为 100。权重 0 保留关联和运行中的部署,但不将其池加入路由。 离线提供方无论保存的权重是多少都获得 0% 流量。保存分配时至少有一个未禁用提供方的 权重为正,编辑器最多支持 16 个提供方。

迁移已有服务时,原先接收流量的提供方保留权重 1,其他提供方为 0。轮询不重置打开的草稿。 并发修改成员或权重会返回冲突,请关闭并重新打开抽屉。保存后调谐失败会明确显示 Configuration saved,旧网关配置可能仍在生效;修复后用 Save and apply 或 Reconcile 重试。成功提交不代表控制器已接受或实际流量比例已得到验证, 请检查 HTTPRoute 的 Accepted/ResolvedRefs 和真实请求计数。

权重不重写请求体中的 model,也不提供自动故障转移。所有提供方必须接受同一个 提供方模型名称。授权边界是模型服务,而不是单个部署。获准调用的用户通过原生 HTTPRoute 权重路由访问该模型所有在线且权重为正的提供方。

管理模型访问权限​

admin 和 maintainer 可以管理其权限范围内集群的模型推理授权。 Maintainer 还可以把所辖集群中的就绪部署发布为新的公开模型名称,添加或移除提供方, 启动或停止模型服务,删除空的模型服务,并维护共享 Gateway 和 IPP(安装、启停、配置和协调)。 编辑模型服务元数据或选择策略仍仅限 admin。

  1. 打开公开模型名称旁的菜单,选择 Manage access。
  2. 在右侧抽屉中选择 User 或 Group,然后选择授权对象。
  3. 点击 Grant inference access。候选对象必须已在模型所属集群拥有推理权限; 模型授权本身不授予集群 scope。
  4. 点击已有授权旁的 Revoke 撤销授权,或点击 Close 关闭抽屉。

消费者必须同时具备推理集群 scope 和直接或通过用户组获得的模型授权。 授权覆盖该模型的所有提供方,包括以后添加的提供方,但不包含部署管理或再次分享权限。 操作者保留其 scope 内原有的推理权限,无需单独的模型授权。API key 和个人用量仍只属于 本人。新建模型默认没有消费者授权。

撤权影响后续推理请求,包括使用已有 API key 的请求;已开始的流式请求不会被中断。 模型还必须处于 Serving 状态,并有在线且权重为正的提供方,才会出现在 My services 或 /v1/models 中。重命名保留授权;删除模型会清理授权,重建同名模型不会恢复访问权。

deployment 分享已移除。迁移会审计并清理旧部署授权,不会将其自动扩大为模型授权。 受影响的消费者需要由 admin 或 scope 内 maintainer 重新授予模型访问权。

移除提供方或模型服务​

  1. 在 Model services 中打开提供方部署名称旁的三线菜单。
  2. 选择 Remove from model,解除关联,不删除部署或 Pod。移除最后一个提供方后,空模型仍保留在服务拓扑中。
  3. 核对弹窗中的服务和集群后确认。

删除模型本身前,必须先解除所有提供方关联,包括离线和权重为 0 的提供方。 然后在公开模型名称的菜单中选择 Remove model 并确认。只要还有提供方,该操作就会禁用, 后端也强制执行此限制。Lens 仅移除该模型自身管理的 HTTPRoute 和 IPP 映射, 确认删除完成后才删除模型记录。清理失败或超时时保留记录,以便重试。

模型菜单在同一位置切换:全部离线时显示 Bring providers online,否则显示 Take providers offline。混合状态下一次性全部下线。批量上线/下线提供方时, 保留权重、模型状态和运行中的 Pod,不执行工作负载缩放。启动时先确认所有部署均已就绪, 然后才修改任何提供方状态。已停止的模型仍保持停止,权重为 0 的提供方仍处于 standby。 保存状态后若路由更新失败,请使用 Reconcile 重试;已保存的状态不会自动回滚。

**移除已发布路由会中断使用该路由的客户端。**请提前通知调用方。

查看组件日志​

Gateway、IPP、EPP 的 View logs 打开实时日志抽屉,默认采用 Readable 视图。 普通日志一条一行,依次展示时间、级别、消息、key=value 附加字段和 Pod/容器来源。 嵌套对象保持行内显示,消息内换行用 \n 表示。ERROR/FATAL 是例外: 多行消息及 stack、stacktrace、stack_trace、exception.stacktrace 字段会在摘要行下保留原始换行和缩进。时间按浏览器本地时区显示,悬停可看完整值。 抽屉随屏幕宽度调整,小屏全宽,长行可以横向滚动,不截断内容。

Raw 显示包含 Kubernetes 前缀的原始日志。普通文本保留,解析失败的 JSON 会标记, 不会丢弃。最多保留最新 500 行;Follow latest 默认开启,持续跟随新输出。 向上滚动会暂停跟随,重新勾选即可返回最新日志。关闭抽屉会停止日志流。

检查和维护服务组件​

每个公开模型框包含一个 HTTPRoute,并按 deployment 名称分组展示 InferencePool、EPP 和 model server,部署框内不画组件间连线。 集群 Gateway 连接模型框,HTTPRoute 分支连接各部署框,组件保留各自的状态、 帮助提示和操作。

每个 Lens 集群注册使用稳定的独立命名空间,例如 lens-gateway-dcea6ee0。 Gateway、IPP、鉴权和 HTTPRoute 资源位于其中,提供方部署保留自身命名空间。 自定义前缀同样附加短 ID。升级时不自动迁移或删除旧的无后缀资源: 安装独立 Gateway/IPP 并使用其发布地址;旧 Gateway 占用 NodePort 时应选择空闲端口, 不要抢占另一套安装的端口。命名空间不能隔离共享 Lens 数据库和集群记录的后端, 这些后端不能运行相互竞争的控制循环。

多个提供方从同一个 HTTPRoute 分支,百分比表示保存的配置比例而非实测流量。 权重为 0 和离线提供方显示虚线与 0%。已有的零权重 InferencePool 没有 Gateway 父状态时显示中性的 standby (0 weight; not routed),而不是故障。 EPP 和模型服务器故障仍可见,单纯 standby 不会触发 Gateway/IPP 自动修复。

  1. 打开 Model services → Service flow,将鼠标悬停在异常状态点上查看原因。
  2. 打开对应组件菜单,按下表操作。
  3. 查看右侧操作日志,确认组件恢复后重试模型请求。
目标组件与操作
修改网关 provider、暴露端口、host/IP 或 Lens 地址Gateway → Configure;保存后会协调共享网关。需要集群编辑权限。
安装缺失的网关Gateway → Install
应用已保存的网关和路由设置Gateway → Reconcile;页面顶部的 Reconcile 处理所有有服务成员的集群
查看网关或载荷处理器日志Gateway → View logs 或 IPP → View logs;组件停止或未安装时禁用,悬停提示先启动或安装
了解控制面和网关悬停或聚焦 Lens control plane、Gateway 旁的 ?;Gateway 提供上游文档链接
查看载荷处理器定义悬停或聚焦 IPP 旁的 ?,可查看官方定义和文档链接
了解模型组件HTTPRoute、InferencePool、EPP、model server 不显示副标题,? 中展示官方一句话说明和来源链接
安装载荷处理器IPP → Install
启动已停止的组件Gateway、IPP 或 EPP → Start
修改载荷处理设置IPP → Configure;Use chart default 清除自定义设置
停止或移除组件对应的 Stop 或 Uninstall

Stop 和 Uninstall 可能中断模型请求,请在计划维护时执行。 HTTPRoute 和 InferencePool 只显示状态,没有启动或停止按钮。

Stop 只是把组件缩到 0 副本,并不移除它,因此其方框会变成灰色(installed, stopped) 而不是绿色,菜单中也会改为 Start。Gateway 同理:Gateway 资源仍然处于 programmed 状态, 但没有运行中的副本时方框显示为灰色而非绿色。绿灯表示该组件确实有正在运行的副本。 Uninstall 则彻底移除组件,方框变为琥珀色(not installed)。

看不到操作按钮​

请管理员检查你的模型服务权限和集群访问范围。不要使用他人的 API 密钥。

部署监控见可观测性,服务无法访问时见故障排查。