Grafana + vLLM vLLM+ Prometheus Prometheus + Docker+ NVIDIA GPU+ Linux+ GPUStack+ NVIDIA Container Toolkit

用 Docker 部署 GPUStack 集群管理器,编排 vLLM 等推理引擎提供 OpenAI 兼容模型服务。

GPUStack 负责调度与运维,自动配置推理引擎执行推理,Grafana/Prometheus 提供监控仪表板,Docker 承载部署。

✓ 自动配置高性能推理引擎✓ 支持自动故障恢复与负载均衡 ✕ worker 节点仅支持 Linux✕ 需要已安装 NVIDIA 驱动

方案简介

GPUStack 是一个开源的 GPU 集群管理器,用于 AI 模型推理服务和 GPU 实例供应。它配置和编排推理引擎(vLLM、SGLang、TensorRT-LLM 或您自定义的引擎),并支持按需启动可通过 SSH 访问的 GPU 实例。

这套方案解决的核心问题是:让开发团队、IT 组织和服务提供商能够大规模地提供模型即服务。它支持用于 LLM、语音、图像和视频模型的行业标准 API,内置用户认证和访问控制、GPU 性能和利用率的实时监控,以及令牌使用量和 API 请求率的详细计量。

适合人群:需要在本地服务器、Kubernetes 集群和云提供商等多环境中管理 GPU 集群,并希望以标准化 API 对外提供模型推理服务的团队。

亮点与能力

  • 多集群 GPU 管理。 跨多个环境管理 GPU 集群。这包括本地服务器、Kubernetes 集群和云提供商。
  • 可插拔推理引擎。 自动配置高性能推理引擎,如 vLLM、SGLang 和 TensorRT-LLM。您也可以根据需要添加自定义推理引擎。
  • Day 0 模型支持。 新模型发布当天即可部署。
  • 性能优化配置。 提供预调优模式,用于低延迟或高吞吐量,支持 LMCache 和 HiCache 等扩展 KV 缓存系统以减少 TTFT,内置支持 EAGLE3、MTP 和 N-grams 等推测性解码方法。
  • GPU 实例。 按需启动可通过 SSH 访问的 GPU 实例,适用于开发、微调和交互式工作负载。
  • 企业级运维能力。 支持自动故障恢复、负载均衡、监控、认证和访问控制。
  • OpenAI 兼容 API。 可通过 API 密钥访问 GPUStack 提供的 OpenAI 兼容 API 端点。

组成与分工

  • GPUStack:开源 GPU 集群管理器,负责集群管理、调度器分配 GPU 以最大化资源利用率,并选择合适的推理引擎以实现最佳性能。
  • vLLM / SGLang / TensorRT-LLM:被 GPUStack 自动配置的高性能推理引擎,实际执行模型推理。
  • Docker:GPUStack server 与 worker 节点的部署载体。
  • NVIDIA Container Toolkit:worker 节点容器访问 GPU 的运行时依赖。
  • Grafana / Prometheus:集成仪表板,全面了解系统运行状况和指标。

实施步骤

1. 安装并启动 GPUStack server

使用 Docker 安装并启动 GPUStack server:

bash
sudo docker run -d --name gpustack \
--restart unless-stopped \
-p 80:80 \
--volume gpustack-data:/var/lib/gpustack \
gpustack/gpustack

如果无法从 Docker Hub 拉取镜像,可通过指向 quay.io 使用镜像:

bash
sudo docker run -d --name gpustack \
--restart unless-stopped \
-p 80:80 \
--volume gpustack-data:/var/lib/gpustack \
quay.io/gpustack/gpustack \
--system-default-container-registry quay.io

2. 获取管理员密码并登录

检查启动日志:

bash
sudo docker logs -f gpustack

获取默认管理员密码:

bash
sudo docker exec gpustack cat /var/lib/gpustack/initial_admin_password

打开浏览器,访问 http://你的主机IP,使用默认用户名 admin 和上面获取的密码登录。

3. 设置 GPU 集群

  • 在 GPUStack UI 中,导航到 集群 页面。
  • 点击 添加集群 按钮。
  • 选择 Docker 作为集群提供商。
  • 填写新集群的 名称描述 字段,然后点击 保存 按钮。
  • 按照界面指南在 worker 节点上运行 Docker 命令将其连接到 server,命令类似:

bash
sudo docker run -d --name gpustack-worker \
--restart=unless-stopped \
--privileged \
--network=host \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume gpustack-data:/var/lib/gpustack \
--runtime nvidia \
gpustack/gpustack \
--server-url http://你的_gpustack_server_url \
--token 你的_worker_token \
--advertise-address 192.168.1.2

worker 节点成功连接后,它将出现在 GPUStack UI 的 Workers 页面中。

4. 部署模型

  • 导航到 Catalog 页面,从可用模型列表中选择 Qwen3.5-0.8B 模型。
  • 部署兼容性检查通过后,点击 Save 按钮部署模型。
  • GPUStack 将开始下载模型文件并部署模型。当部署状态显示为 Running 时,表示模型已成功部署。

使用与配置要点

在 Playground 中聊天

点击导航菜单中的 Playground - Chat,检查右上角 Model 下拉菜单中是否选中了 qwen3.5-0.8b 模型,即可在 UI playground 中与模型聊天。

创建 API 密钥

  • 导航到 Access Control > API Keys 页面,点击 New API Key 按钮。
  • 填写 Name 并点击 Save 按钮。
  • 复制生成的 API 密钥并保存。请注意,该密钥仅在创建时可见一次。

通过 API 调用模型

使用 API 密钥访问 GPUStack 提供的 OpenAI 兼容 API 端点:

bash
export GPUSTACK_API_KEY=your_api_key
curl http://your_gpustack_server_url/v1/chat/completions \
-H "Content-Type: application/" \
-H "Authorization: Bearer $GPUSTACK_API_KEY" \
-d '{
"model": "qwen3.5-0.8b",
"messages": [

"role": "system",
"content": "You are a helpful assistant."

"role": "user",
"content": "Tell me a joke."

],
"stream": true
}'

注意事项与常见问题

  • GPUStack worker 节点仅支持 Linux;Windows 用户可考虑使用 WSL2 并避免使用 Docker Desktop;macOS 不支持作为 worker 节点。
  • API 密钥仅在创建时可见一次,请妥善保存。
  • 如果无法从 Docker Hub 拉取镜像或下载速度很慢,可通过指向 quay.io 使用镜像,并加上 --system-default-container-registry quay.io 参数。
  • 详细的基准测试方法和结果可访问官方文档的推理性能实验室页面。

优缺点

  • ✓ 自动配置高性能推理引擎
  • ✓ 支持自动故障恢复与负载均衡
  • ✕ worker 节点仅支持 Linux
  • ✕ 需要已安装 NVIDIA 驱动

出处

本方案挖掘自开源项目 gpustack/gpustack,方案内容与实施命令均来自其 README 原文。

方案出处
gpustack/gpustack:A GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and o
5617 star A GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-demand SSH-accessible GPU instances.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。