跳到主要内容

系统架构

LLMPod 由管理端和计算节点组成。管理端包含 Manager、推理网关与存储服务;一个 Manager 可以管理多个 Node,每个 Node 负责所在主机上的推理容器。Docker 为这些组件提供容器运行环境。

LLMPod 部署架构:管理端由 Docker Compose 运行 webserver(含 Manager)、推理网关、PostgreSQL 和 Redis。计算主机上的 Node、vLLM、llama.cpp 是同级 Docker 容器;Node 通过 docker.sock 管理推理容器,容器使用主机算力和模型目录。Manager 通过 WebSocket 管理 Node,网关直接连接推理容器或外部服务。
管理端与计算节点可同机部署。查看大图

部署边界​

标准 Docker Compose 安装在管理服务器上启动四个容器:webserver、proxyserver、PostgreSQL 和 Redis。Manager 是 webserver 内的编排能力,与控制台、管理 API 共用控制面端口。webserver、proxyserver 和 node 使用同一套 LLMPod 应用镜像,通过不同启动命令选择角色。

计算机器通过控制台生成的引导命令单独安装 Node,脚本先调用宿主机 Docker 启动 Node 容器。Node 容器挂载宿主机的 docker.sock,再调用同一个 Docker Engine 创建、启动和停止推理引擎容器;Node 与推理引擎都是由宿主机 Docker 运行的同级容器,由推理引擎加载模型并使用 CPU / GPU。Docker 集群用于组织这些计算节点和部署,节点的管理连接由 LLMPod 建立。

单机部署时,可在管理服务器上继续注册 Node,让管理服务与模型共享一台机器;多机部署时,把 Node 安装到各台计算机器。只接入已有外部服务时,可以省去 Node 和本地推理容器。

组件主要职责安装脚本默认值
控制面 webserver(含 Manager)控制台、/api/v1 管理 API、Manager 节点连接、部署编排WEBSERVER_PORT=8080
推理网关 proxyserver/v1/* 鉴权、模型选路、上游转发、计量PROXY_PORT=8090
计算节点 node上报资源、接收任务、运行本地模型的推理容器由管理员引导到目标机器
推理引擎容器加载模型并执行推理,为网关提供服务端点由部署任务在计算节点上创建
PostgreSQL平台资源、租户、模型、路由和持久记录内部服务
Redis运行期状态、限流等协调数据内部服务

控制路径​

管理员在控制台创建 Docker 集群、注册节点、添加模型并创建部署。Node 主动通过 Manager 的 /ws/node 建立 WebSocket 连接;连接建立后,Manager 下发任务,Node 上报资源与执行结果。Node 再通过本机 Docker 操作推理容器。管理员也可以跳过本地模型部署,直接登记外部推理端点。模型发布把可用端点与一个对外模型名绑定。

请求路径​

应用携带 API Key 请求推理网关。网关检查 Key、租户、模型可见性和用量限制,按发布路由挑选同协议的可用端点,再通过 HTTP 将请求送到节点上的推理服务或外部上游。推理请求由网关直接转发到端点;Manager 与 Node 的 WebSocket 连接用于管理任务和状态。调用统计和日志帮助追踪请求;在准入阶段被拒绝的请求不会写推理调用日志。详细对象关系见模型服务的组成。

Compose 中控制面与网关共用应用数据卷;PostgreSQL 和 Redis 默认只在内部网络提供服务。跨主机部署时,既要保证 Node 能访问 Manager,也要保证网关能访问节点上的推理服务端口。模型目录挂载与具体地址配置见网络与部署配置。