文档首页/
AI开发平台ModelArts/
最佳实践/
LLM大语言模型推理/
LLM大语言模型推理历史版本文档/
主流开源大模型基于Lite Server&Cluster适配Ascend-vLLM PyTorch NPU推理指导(6.5.905)/
Cluster部署推理服务/
基于K8s Deployment单机部署推理服务
更新时间:2025-07-29 GMT+08:00
基于K8s Deployment单机部署推理服务
- 配置模型及镜像参数
编辑vllm_single_node.yaml文件,按照环境配置修改相关参数。可以按自己的需求修改deployment实例名称以及实例数:
apiVersion: apps/v1 kind: Deployment metadata: name: infer-vllm labels: app: infer-vllm spec: replicas: 1 # Deployment实例数 selector: matchLabels: app: infer-vllm template: metadata: labels: app: infer-vllm spec: schedulerName: volcano nodeSelector: accelerator/huawei-npu: ascend-1980 affinity: # 亲和性调度,优先调度在同一节点,资源不足时允许分散到其他节点,如果考虑可靠性,建议去掉亲和性配置。 podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchLabels: app: infer-vllm topologyKey: kubernetes.io/hostname containers: - image: ${image_name} # 需要修改成制作推理镜像时指定的镜像名称 imagePullPolicy: IfNotPresent name: infer-vllm # pod名称 securityContext: runAsUser: 0 ports: - containerPort: 8080 command: ["/bin/bash", "-c"] # 按照实际需求修改启动命令参数 args: ["/mnt/deepseek/scripts/run_vllm_single_node.sh"] …… volumeMounts: …… - name: model-path mountPath: /mnt/deepseek # 权重文件及脚本在容器中的位置 volumes: …… - name: model-path hostPath: path: /mnt/deepseek # 权重文件及脚本在节点上的位置
可以配置启动探针(startupProbe)、就绪探针(readinessProbe)、和活跃探针(livenessProbe)来检测每一个实例pod的状态。下面是一个livenessProbe的配置样例,通过调用vllm的health API探测服务状态,容器启动后600秒进行第一次探测,每10秒探测一次,单次探测超时时间10秒,连续失败6次认为服务异常。apiVersion: apps/v1 kind: Deployment spec: template: spec: …… containers: - image: ${image_name} …… livenessProbe: # 活跃探针的检测命令,按实际需求配置 httpGet: path: /health port: 8080 initialDelaySeconds: 600 # 容器启动后,开始探测vllm服务的时长,需要根据sfs_turbo读取速度调整 periodSeconds: 10 timeoutSeconds: 10 failureThreshold: 6 successThreshold: 1
- 部署推理服务实例
在有安装kubectl的节点执行下面的命令部署推理服务实例
kubectl apply -f /mnt/deepseek/vllm_single_node.yaml
- 验证部署结果
父主题: Cluster部署推理服务