K8s集群调度vLLM推理任务配置教程

📚 共计 30 章节
01
课程导论与目标
vLLM推理任务在K8s上部署的背景、挑战与课程目标。
背景目标
02
环境准备
K8s集群搭建(Minikube/Kubeadm)、GPU节点配置与NVIDIA驱动安装。
MinikubeGPU驱动
03
vLLM基础
vLLM是什么、核心特性(PagedAttention、连续批处理)、模型支持列表。
PagedAttention批处理
04
vLLM容器化
Dockerfile编写、镜像构建、模型权重挂载策略。
Docker挂载
05
K8s核心概念回顾
Pod、Deployment、Service、Ingress、ConfigMap、Secret。
PodService
06
GPU资源管理
K8s Device Plugin机制、NVIDIA GPU Operator部署、nvidia-smi验证。
Device PluginGPU Operator
07
编写第一个vLLM Deployment
YAML定义、资源请求与限制(CPU/内存/GPU)。
YAML资源限制
08
暴露推理服务
ClusterIP、NodePort、LoadBalancer Service配置与选择。
ServiceNodePort
09
Ingress与域名访问
Ingress Controller部署(Nginx)、TLS证书配置、路径转发。
IngressTLS
10
ConfigMap与Secret管理
模型配置参数注入、API密钥管理、环境变量传递。
ConfigMapSecret
11
持久化存储
PV/PVC概念、NFS/本地卷挂载模型权重、ReadWriteMany场景。
PV/PVCNFS
12
水平自动伸缩(HPA)
基于GPU利用率的HPA配置、自定义指标适配。
HPAGPU指标
13
垂直自动伸缩(VPA)
VPA原理、资源推荐、与HPA的兼容性。
VPA资源推荐
14
节点亲和性与调度
nodeSelector、nodeAffinity、taints与tolerations。
亲和性污点
15
Pod拓扑分布约束
topologySpreadConstraints实现高可用部署。
拓扑分布高可用
16
资源配额与限制
Namespace ResourceQuota、LimitRange配置。
ResourceQuotaLimitRange
17
监控与日志
Prometheus+Grafana监控GPU指标、Loki收集vLLM日志。
PrometheusLoki
18
健康检查
livenessProbe、readinessProbe、startupProbe配置与最佳实践。
探针健康检查
19
滚动更新与回滚
Deployment更新策略、maxSurge/maxUnavailable、rollback命令。
滚动更新回滚
20
多模型管理
同一集群部署多个vLLM实例、端口冲突解决、模型隔离。
多模型隔离
21
批处理与队列
使用K8s Job运行离线推理任务、并行度控制。
Job批处理
22
服务网格集成
Istio部署、流量管理、灰度发布vLLM新版本。
Istio灰度发布
23
安全加固
Pod安全策略(PSP/PodSecurity Admission)、网络策略(NetworkPolicy)。
Pod安全NetworkPolicy
24
成本优化
Spot实例使用、节点自动缩放(Cluster Autoscaler)、GPU碎片整理。
SpotCluster Autoscaler
25
故障排查
Pod CrashLoopBackOff分析、OOMKilled处理、GPU显存溢出排查。
CrashLoopOOM
26
性能调优
vLLM参数调优(max_num_seqs、gpu_memory_utilization)、K8s资源调整。
调优显存
27
CI/CD集成
GitLab CI/GitHub Actions自动构建镜像、ArgoCD自动部署到K8s。
CI/CDArgoCD
28
多集群部署
KubeFed联邦、Cluster API管理多个K8s集群、全局负载均衡。
KubeFed多集群
29
生产环境案例
某公司实际部署vLLM推理服务的架构、踩坑记录与解决方案。
案例踩坑
30
课程总结与展望
K8s+vLLM最佳实践总结、未来趋势(Serverless推理、K8s原生AI)。
总结趋势