vLLM批量推理K8s调优实战

📚 共计 30 章节
01
vLLM 初探
什么是 vLLM?为什么需要它?PagedAttention 原理简介。
原理入门
02
K8s 基础回顾
Pod、Deployment、Service、Ingress 核心概念。
K8s核心
03
环境搭建
在 K8s 集群中部署 vLLM 推理服务(Docker 镜像 + YAML 配置)。
部署YAML
04
性能指标
吞吐量、延迟、首 Token 延迟 (TTFT)、显存利用率。
监控指标
05
批量推理参数
max_num_seqs、max_model_len、gpu_memory_utilization 调优。
调优参数
06
K8s 资源限制
CPU 绑核、内存限制、GPU 显存分配与 Limits/Requests 设置。
资源GPU
07
HPA 自动扩缩容
基于 Prometheus 自定义指标(如排队长度)的弹性伸缩。
弹性Prometheus
08
负载均衡策略
Service 类型选择、Session Affinity、gRPC 负载均衡。
网络gRPC
09
显存优化
KV Cache 量化、Prefix Caching、Chunked Prefill 技术。
显存量化
10
调度优化
K8s 调度器配置、节点亲和性、GPU 拓扑感知调度。
调度GPU拓扑
11
网络优化
Calico 网络策略、RDMA 支持、NCCL 通信优化。
网络RDMA
12
存储优化
模型权重挂载(PVC/PV)、模型预热与缓存策略。
存储PVC
13
日志与监控
EFK/PLG 日志收集、Prometheus + Grafana 监控面板搭建。
日志Grafana
14
故障排查
Pod 启动失败、OOMKilled、GPU 不可用、请求超时常见问题。
排障OOM
15
安全加固
RBAC 权限控制、网络策略、镜像扫描、Secrets 管理。
安全RBAC
16
多模型管理
在同一个 K8s 集群中部署多个 vLLM 模型实例。
多模型部署
17
模型版本管理
使用 K8s ConfigMap 或自定义 CRD 管理模型版本切换。
版本ConfigMap
18
A/B 测试
基于 Istio 流量路由实现新旧模型灰度发布。
Istio灰度
19
成本优化
Spot 实例使用、节点池混合部署、GPU 共享策略。
成本Spot
20
CI/CD 集成
GitOps 工作流(ArgoCD)自动化部署 vLLM 服务。
CI/CDArgoCD
21
性能压测
使用 Locust/Vegeta 对 vLLM 服务进行压力测试。
压测Locust
22
Profiling 工具
NVIDIA Nsight Systems、PyTorch Profiler 定位瓶颈。
性能Nsight
23
内核优化
vLLM 的 CUDA Graph、FlashAttention 集成与调优。
CUDAFlashAttention
24
分布式推理
Tensor Parallelism、Pipeline Parallelism 在 K8s 中的实践。
分布式TP/PP
25
推理缓存
RadixAttention 与 Prefix Caching 的 K8s 持久化方案。
缓存持久化
26
多租户隔离
基于 K8s Namespace 和 ResourceQuota 的租户隔离。
多租户Namespace
27
GPU 虚拟化
使用 NVIDIA MIG 或 vGPU 实现 GPU 切分。
MIGvGPU
28
灾难恢复
etcd 备份、集群快照、跨 AZ 部署策略。
容灾etcd
29
生产案例
某大模型公司 vLLM + K8s 生产环境架构剖析。
案例生产
30
未来展望
vLLM 新特性、K8s 社区动态、Serverless 推理趋势。
趋势Serverless