文档首页/
AI开发平台ModelArts/
最佳实践/
LLM大语言模型推理/
LLM大语言模型推理历史版本文档/
主流开源大模型基于Lite Server&Cluster适配Ascend-vLLM PyTorch NPU推理指导(6.5.905)/
Cluster部署推理服务/
基于KubeInfer多机部署推理服务
更新时间:2025-07-29 GMT+08:00
基于KubeInfer多机部署推理服务
- 配置模型及镜像参数
编辑vllm_multi_node.yaml文件,按照环境配置修改相关参数。可以按自己的需求修改kubeinfer实例名称、svc名称以及实例数。
kind: KubeInfer apiVersion: infer.modelarts.huaweicloud/v1 metadata: labels: app.modelarts.huaweicloud/instanceGroupId: vllm namespace: default name: infer-vllm # kubeinfer实例名称 spec: networkServices: - name: svc-infer-vllm # svc名称 spec: ports: - nodePort: 30080 # nodePort范围是30000-32767 port: 8080 protocol: TCP targetPort: 8080 type: NodePort replicas: 1 # kubeinfer实例数 strategy: rollingUpdate: maxSurge: 20% maxUnavailable: 20% type: InstanceRollingUpdate
vllm_multi_node.yaml文件中roles参数中有多个相同结构,在双机混部样例中有2个(1个ray head节点,一个ray worker节点),每个结构的内容基本相同但详细配置略有差异,修改时需要关注各个role的配置差异和相关性。建议关注的参数已标红:kind: KubeInfer apiVersion: infer.modelarts.huaweicloud/v1 spec: template: spec: roles: - recoveryPolicy: restart: Instance type: Restart replicas: 1 template: spec: automountServiceAccountToken: false containers: - env: …… image: ${image_name} # 需要修改成推理镜像名称 imagePullPolicy: IfNotPresent command: # 按照实际需求修改启动命令参数,不同角色参数不同 - /bin/sh - -c - /mnt/deepseek/scripts/run_vllm_multi_node.sh head name: infer-vllm-head # pod名称,需要保证各角色不同 …… volumeMounts: …… - mountPath: /mnt/deepseek/ # 权重文件及脚本在容器中的位置 name: model-path …… volumes: …… - hostPath: path: /mnt/deepseek/ # 权重文件及脚本在节点上的位置 type: Directory name: model-path
可以配置启动探针(startupProbe)、就绪探针(readinessProbe)、和活跃探针(livenessProbe)来检测每一个实例pod的状态。下面是一个livenessProbe的配置样例,通过health.sh脚本来探测服务状态,容器启动后2400秒进行第一次探测,每10秒探测一次,单次探测超时时间10秒,连续失败6次认为服务异常。kind: KubeInfer apiVersion: infer.modelarts.huaweicloud/v1 spec: template: spec: roles: - recoveryPolicy: …… template: spec: …… containers: - env: …… livenessProbe: exec: command: # 活跃探针的检测命令,按实际需求配置 - /bin/sh - -c - /mnt/deepseek/scripts/health.sh initialDelaySeconds: 2400 # 容器启动后,开始探测vllm服务的时长,需要根据sfs_turbo读取速度调整 periodSeconds: 10 timeoutSeconds: 10 failureThreshold: 6 successThreshold: 1 ……
- 部署kubeinfer实例
在有安装kubectl的节点执行下面的命令部署kubeinfer实例
kubectl apply -f /mnt/deepseek/vllm_multi_node.yaml
- 验证部署结果
父主题: Cluster部署推理服务