模型服务
将就绪的部署发布为模型服务,应用即可使用 API 密钥调用。 调用已有服务从 **My services(我的服务)**开始;发布服务使用 Model services(模型服务)。
调用已发布的模型
- 打开 My services。
- 在 **Gateway connections(网关连接)**中,点击目标集群旁的 Copy(复制)。
- 找到模型,点击 cURL。
- 在 cURL examples 中复制请求,保留示例中的地址和请求头。
- 将
lens-mk-...替换为你自己的 API 密钥。 - 在终端运行请求,确认模型返回回复。
需要记录流式请求用量时,保留 "stream_options": {"include_usage": true}。
生成的聊天示例已包含此设置。
创建并保存 API 密钥
- 打开 API keys(API 密钥),点击 New key(新建密钥)。
- 在 **Key name(密钥名称)**中填写便于识别的名称,点击 Create(创建)。
- 在 Copy your key now 中点击 Copy and save。完整密钥会复制到剪贴板并关闭弹窗;密钥只显示一次,请妥善保存。
完整密钥只显示一次,不要分享给其他用户或写入代码仓库。
重置或吊销 API 密钥
- 打开 API keys。
- 重置默认密钥:点击 Reset,然后在 Copy your key now 中点击 Copy and save。
- 吊销密钥:打开该行操作,在 Revoke API key 中点击 Revoke。
旧密钥会失效。重置后请更新所有使用旧密钥的客户端。
创建模型服务
- 打开 Model services,点击页面右上角 Reconcile 旁的天蓝色 Add model(添加模型),展开与页面等高的右侧抽屉。
- 选择部署所在的 Cluster(集群)。
- 选择 Provider。仅列出当前集群中就绪且尚未添加到模型的部署;已有提供方即使离线或权重为 0,也不会再次列出。
- 在 Model name mapping 中核对只读的 Provider model name,它由所选部署自动填充。
- 在 Exposed to users as 下方,从当前集群的建议列表选择已有的 Public model name,或输入新名称,例如
team-chat。应用在 Chat Completions API 的model字段中使用此公开名称,而不是提供方的模型名称。 - 点击 Add。新名称会同时创建模型服务和模型服务器;同一集群中的已有名称会向该模型添加部署并复用 HTTPRoute。点击 Cancel 放弃操作。
- 在 **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 重试。模型操作需要模型组管理权限,部署操作需要成员管理权限。 通知显示在右下角浮动卡片,不挤压拓扑;普通通知六秒后消失,错误保留到关闭、 成功刷新清除或重试。
在部署间分配流量
- 打开模型名称旁的三线菜单,选择 Traffic distribution,展开右侧抽屉。 也可点击 HTTPRoute 与各 deployment 连线分叉处的天蓝色圆形按钮。 两个入口在鼠标悬停时都会说明相对权重、standby 和离线提供方的含义。
- 检查集群和各部署名称右侧的小状态标签。下一行并排显示 Weight、权重输入框和配置的流量百分比。
- 用 Add deployment 选择同一集群、模型名称一致的就绪 llm-d 部署,默认权重为 1。
- 设置相对权重,例如 90 和 10,表示大约 90% 和 10% 的请求。
- 点击 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。
- 打开公开模型名称旁的菜单,选择 Manage access。
- 在右侧抽屉中选择 User 或 Group,然后选择授权对象。
- 点击 Grant inference access。候选对象必须已在模型所属集群拥有推理权限; 模型授权本身不授予集群 scope。
- 点击已有授权旁的 Revoke 撤销授权,或点击 Close 关闭抽屉。
消费者必须同时具备推理集群 scope 和直接或通过用户组获得的模型授权。 授权覆盖该模型的所有提供方,包括以后添加的提供方,但不包含部署管理或再次分享权限。 操作者保留其 scope 内原有的推理权限,无需单独的模型授权。API key 和个人用量仍只属于 本人。新建模型默认没有消费者授权。
撤权影响后续推理请求,包括使用已有 API key 的请求;已开始的流式请求不会被中断。
模型还必须处于 Serving 状态,并有在线且权重为正的提供方,才会出现在 My services
或 /v1/models 中。重命名保留授权;删除模型会清理授权,重建同名模型不会恢复访问权。
deployment 分享已移除。迁移会审计并清理旧部署授权,不会将其自动扩大为模型授权。 受影响的消费者需要由 admin 或 scope 内 maintainer 重新授予模型访问权。
移除提供方或模型服务
- 在 Model services 中打开提供方部署名称旁的三线菜单。
- 选择 Remove from model,解除关联,不删除部署或 Pod。移除最后一个提供方后,空模型仍保留在服务拓扑中。
- 核对弹窗中的服务和集群后确认。
删除模型本身前,必须先解除所有提供方关联,包括离线和权重为 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 自动修复。
- 打开 Model services → Service flow,将鼠标悬停在异常状态点上查看原因。
- 打开对应组件菜单,按下表操作。
- 查看右侧操作日志,确认组件恢复后重试模型请求。
| 目标 | 组件与操作 |
|---|---|
| 修改网关 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 密钥。