vLLM显存溢出K8s报错解决实战

📚 共计 30 章节
01
vLLM与K8s基础
vLLM是什么、为什么选择K8s部署、vLLM在K8s中的典型架构。
入门架构
02
显存溢出(OOM)原理
GPU显存管理机制、vLLM的显存分配策略、OOM发生的根本原因。
原理GPU
03
K8s资源管理
Pod资源请求与限制、GPU资源的调度方式、Node资源监控。
K8s调度
04
vLLM部署配置
vLLM的Docker镜像选择、启动参数详解、模型加载与缓存。
部署Docker
05
OOM报错日志分析
K8s事件日志、vLLM日志、GPU监控日志的解读方法。
日志排错
06
显存估算方法
模型参数量与显存关系、KV Cache显存计算、Batch Size对显存的影响。
估算显存
07
vLLM显存优化参数
max-model-len、gpu-memory-utilization、swap-space等参数调优。
调优参数
08
K8s资源配额调整
调整Pod的resources.limits、使用Guaranteed QoS、设置正确的GPU数量。
配额QoS
09
模型分片与并行
Tensor Parallelism、Pipeline Parallelism在K8s中的配置。
并行分片
10
动态批处理优化
vLLM的continuous batching原理、max-num-seqs参数调整。
批处理性能
11
显存碎片化处理
vLLM的PagedAttention机制、显存碎片产生原因、碎片整理策略。
碎片PagedAttention
12
K8s节点选择器
使用nodeSelector和nodeAffinity将Pod调度到特定GPU节点。
调度节点
13
GPU共享与隔离
K8s中的GPU共享方案、MIG配置、时间片调度。
共享MIG
14
持久化存储配置
模型文件的挂载方式、使用PVC/PV、本地SSD加速。
存储PVC
15
HPA与自动扩缩容
基于GPU利用率的HPA配置、vLLM的优雅关闭与启动。
HPA弹性
16
监控与告警体系
Prometheus + Grafana监控GPU显存、自定义告警规则。
监控告警
17
日志收集与分析
EFK/ELK日志栈、vLLM日志结构化、OOM日志自动告警。
日志ELK
18
常见OOM场景一
模型过大导致OOM的解决方案。
场景模型大
19
常见OOM场景二
并发请求过高导致OOM的限流策略。
限流并发
20
常见OOM场景三
显存泄漏问题的排查与修复。
泄漏排查
21
常见OOM场景四
多模型部署时的显存竞争问题。
多模型竞争
22
vLLM版本升级
版本兼容性检查、新特性对显存的影响、回滚策略。
升级兼容
23
K8s集群扩容
新增GPU节点、节点池配置、负载均衡策略。
扩容集群
24
模型量化与压缩
FP16/INT8/INT4量化、AWQ/GPTQ在vLLM中的应用。
量化压缩
25
推理引擎对比
vLLM vs TGI vs TensorRT-LLM的显存效率对比。
对比引擎
26
生产环境最佳实践
资源预留、优雅降级、熔断机制。
最佳实践生产
27
故障演练与恢复
模拟OOM场景、自动恢复策略、数据一致性保障。
演练恢复
28
成本优化
按需实例 vs 预留实例、Spot实例使用、GPU利用率优化。
成本Spot
29
安全与权限
RBAC配置、网络策略、镜像安全扫描。
安全RBAC
30
综合案例
从零搭建高可用vLLM推理服务,彻底解决OOM问题。
实战综合