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。