用途:把 vLLM 的 OpenAI 兼容服务部署到 Kubernetes,生成 Deployment 与 ClusterIP Service,并配置 GPU 资源与健康探针。
主要能力:部署前检查 hf-token Secret 是否存在,缺失时提示用户提供 Hugging Face token 并创建;检查是否已有 vLLM Deployment,存在则展示镜像与状态并询问是否更新;默认使用 vllm/vllm-openai:latest 镜像;提供可自定义的默认配置,包括模型、副本数、GPU 数量、额外 vLLM 参数等;部署后等待 rollout 并验证 Pod 状态,输出部署摘要与测试命令;支持状态检查与清理。
必要用法:需 kubectl 可访问集群,节点安装 NVIDIA GPU Operator 或设备插件;门控模型需 HF token。检查 Secret:kubectl get secret hf-token -n <namespace>;创建:kubectl create secret generic hf-token --from-literal=HF_TOKEN="<user-provided-token>" -n <namespace>;检查部署:kubectl get deployment vllm -n <namespace>;部署:kubectl apply -f templates/vllm-service.yaml -n <namespace> 与 kubectl apply -f templates/vllm-deployment.yaml -n <namespace>;等待:kubectl rollout status deployment/vllm -n <namespace> --timeout=600s;验证:kubectl get pods -n <namespace> -l app=vllm;测试 API 需先 kubectl port-forward svc/vllm-svc <port>:<port> -n <namespace>,再用 curl 请求 /v1/chat/completions。
默认配置:镜像 vllm/vllm-openai:latest,模型 Qwen/Qwen2.5-1.5B-Instruct,端口 8000,副本 1,GPU 1,GPU 显存利用率 0.85,张量并行 1,CPU 请求/限制 12/128,内存 100Gi/400Gi,共享内存 80Gi。可自定义镜像版本、模型、额外 vLLM 参数、副本、GPU 数、张量并行、CPU/内存、端口、命名空间与共享内存;改端口需同步改容器端口、Service 端口、三个探针端口及 vllm serve 的 --port。
清理:kubectl delete -f templates/vllm-deployment.yaml -n <namespace> 与 kubectl delete -f templates/vllm-service.yaml -n <namespace>,并询问是否删除 hf-token Secret。
限制与排障:Pod Pending 多为无 GPU 节点;OOMKilled 需提高内存限制或换更小模型;ImagePullBackOff 检查镜像名与仓库访问;启动探针失败可能因模型下载慢或缺少 hf-token;GPU 未识别需确认请求 nvidia.com/gpu 且设备插件运行。