跳转至

Legate

legate 二进制启动 Legate Central。Central 同时承载控制面和中央数据面;legate-sidecar 在其他节点运行同一 Proxy Core 的受控本地数据面。

Central 的职责

控制面:

  • 管理 Workspace、成员、平台用户与 OIDC 身份;
  • 管理 Endpoint Group、Endpoint、Driver、模型组、API 密钥和 Sidecar Token;
  • 持久化配置并发布一致的 runtime generation;
  • 为 Sidecar 生成版本化快照和 WASM 制品;
  • 接收 Central 与 Sidecar 调用遥测并提供统计查询。

数据面:

  • 解析五种当前入站 API;
  • 验证 Authorization: Bearer sk-leg-...
  • 确定 Workspace、模型组与精确协议 Contract;
  • 按 tier、weight 与熔断状态选择兼容 Endpoint Model;
  • 使用已冻结 Driver Binding 生成并验证上游计划;
  • 注入凭据、执行 HTTP I/O、转换输出和故障转移;
  • 分开记录调用方 Request 与每次 Endpoint Attempt。

模型组的 full / reference 只影响 Sidecar 投影。直接访问 Central 时,Central 始终使用完整配置执行。

HTTP 接口

路径 用途
/api/healthz 进程健康检查
/api/auth/* 管理员公开配置、OIDC 登录、会话、恢复与退出
/api/admin/* Console 使用的 Workspace 控制面与 analytics API
/api/v1/sidecar/snapshot Sidecar 快照
/api/v1/sidecar/artifacts/{digest} Sidecar 所需 WASM 制品
/api/v1/sidecar/invocation-events Sidecar 调用遥测上传
/v1/* 模型代理入口

管理员会话、Legate API Key 和 Sidecar Token 是三套独立认证。登录 Console 不会得到模型调用权限。

状态依赖

PostgreSQL 是唯一持久化后端,保存租户配置、身份与会话、secret hash、Sidecar 状态和调用事件。--database-dsn 必填。

Redis 仅用于多个 Central / Sidecar 进程共享 Endpoint 和 Mapping circuit breaker 状态。未配置时使用进程内 breaker;多副本如果希望故障状态一致,应使用同一 Redis 与 prefix。

文本流、请求重放、图片 blob 和遥测分别有进程级与 Workspace 级资源预算。这些预算产生的 capacity_error 不等同于某个上游账号的 QPS 配额;当前 Endpoint 没有 maxCapacity 配置。

管理员认证模式

--admin-auth-mode 必须显式选择:

模式 适用场景
oidc 共享和生产环境
dev-bootstrap 需要区分开发身份的受控开发环境
disabled 仅限回环地址上的隔离本机开发

认证模式只保护管理平面。模型代理始终要求 Legate API Key,Sidecar 控制面始终要求 Sidecar Token。

什么时候只部署 Central

应用与 Central 同网络、希望集中审计,或不希望在其他节点投影上游凭据时,只部署 Central 即可。需要跨集群就近执行或本地鉴权时,再部署 Sidecar