基于Kubernetes分布式部署DeepSeek-R1(在线快速版)

准备阶段

1. 硬件说明

  • 服务器:3台服务器(建议每台至少8核CPU, 16GB内存, 24G显存,500GB硬盘空间)
  • 网络:确保三台服务器之间可以互相通信
  • 显卡:NVIDIA A10

2. 软件说明

  • OS:CentOS 8.5
  • Sealos:v5.0.1 (用于快速部署k8s集群及gpu组件)
  • kubernetes:v1.30.5
  • lws(LeaderWorkerSet):v0.5.1(k8s官方推出的用于分布式部署大模型的API)
  • vLLM:用于进行大型语言模型的推理和部署
  • DeepSeek-R1 模型:由于资源有限,这里仅部署蒸馏版1.5B的作为演示

开始部署

安装Nvidia驱动

手动在集群每个节点上安装驱动

shell 复制代码
安装依赖
# yum install -y elfutils-libelf-devel

安装驱动,驱动文件可从NVIDIA官网下载
这里文件是A10版驱动,已分享到百度网盘,可在文章最下面获取链接
# bash nvidia-driver/NVIDIA-Linux-x86_64-550.144.03.run --silent --accept-license

NVIDIA官网:https://www.nvidia.cn/drivers/lookup/

安装sealos

shell 复制代码
文件已分享到百度网盘,可在文章最下面获取链接
# rpm -ivh sealos/sealos_5.0.1_linux_amd64.rpm

一键部署k8s集群

部署k8s集群及gpu组件:

shell 复制代码
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes-docker:v1.30.5 \
 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.8.2 \
 registry.cn-shanghai.aliyuncs.com/labring/calico:v3.24.1 \
 registry.cn-shanghai.aliyuncs.com/labring/ingress-nginx:v1.11.3 \
 registry.cn-hangzhou.aliyuncs.com/lusyoe/gpu-operator:v24.9.2 \
 registry.cn-hangzhou.aliyuncs.com/lusyoe/lws:v0.5.1 \
--masters 192.168.32.1 \
--nodes 192.168.32.2,192.168.32.3 -p [your-ssh-passwd]

验证是否部署成功:

shell 复制代码
# 查看节点状态是否Ready
kubectl get nodes

# 查看gpu 组件是否运行成功,可以多等一会
kubectl get pods -n gpu-operator

验证gpu

验证k8s集群是否支持gpu:

shell 复制代码
sealos run registry.cn-hangzhou.aliyuncs.com/lusyoe/gpu-pod:v1.0

kubectl get pods
kubectl logs gpu-pod

# 出现以下字符表示测试成功
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

部署vLLM与DeepSeek-R1模型

通过hfd.sh 下载镜像:

shell 复制代码
# 修改文件的执行权限
文件已分享到百度网盘,可在文章最下面获取链接
chmod a+x huggingface/hfd.sh

# 设置国内的镜像地址,默认官网无法访问
export HF_ENDPOINT="https://hf-mirror.com"

# 使用aria2 下载更快
yum install -y aria2

cd huggingface

# 下载指定镜像,并存放到本地/mnt/DeepSeek-R1-Distill-Qwen-1.5B 目录下
./hfd.sh deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --local-dir /mnt/DeepSeek-R1-Distill-Qwen-1.5B

模型下载完后,这里可以将模型文件复制到每个节点相同目录下,也可以通过NFS等形式共享一个文件,然后在其他节点上挂载即可。

部署vLLM和模型

shell 复制代码
部署文件已分享到百度网盘,可在文章最下面获取链接
kubectl apply -f vllm/vllm-manifest.yaml

验证部署

shell 复制代码
kubectl get pods
kubectl logs vllm-0

待日志出现如下打印时,则已经部署成功,后续可以通过ingress直接在本地访问了:

百度网盘链接

链接:https://pan.baidu.com/s/1Vi2_wKR2lUOAB28YnTq6pw

提取码:5ote

相关推荐
别骂我h19 分钟前
Kubernetes服务发布基础
云原生·容器·kubernetes
weixin_399380692 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
IT成长日记2 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
一路向北North2 小时前
使用reactor-rabbitmq库监听Rabbitmq
分布式·rabbitmq·ruby
偷萧逸苦茶2 小时前
docker常见命令
docker·容器·eureka
Amy187021118237 小时前
赋能低压分布式光伏“四可”建设,筑牢电网安全新防线
分布式
June bug12 小时前
【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动
经验分享·分布式·职场和发展·架构·学习方法·测试·软考
阿波罗.201213 小时前
Zookeeper 客户端 .net访问框架 ZookeeperNetEx项目开发编译
分布式·zookeeper
Bug退退退12313 小时前
RabbitMQ 工作模式
java·分布式·rabbitmq
道可云13 小时前
道可云人工智能每日资讯|浦东启动人工智能创新应用竞赛
人工智能·百度·ar·xr·deepseek