274  
查询码: 00000607
k8s+vGPU虚拟化平台部署(SDK4.4.0、x86、ARM)
2026年06月08日 发布 ,于 2026年06月22日 编辑

概述

本文提供单机部署k8s系统,旨在指导用户在k8s集群导入GPU虚拟化(iluvatar VGPU)插件。天数智芯VGPU方案是针对天数智芯加速卡实现的基于Kubernetes(K8s) 集群系统的GPU虚拟化方案,部署此方案后可以实现多用户同时使用天数智芯加速卡。该方案GPU算力的最小颗粒度为一张天数智芯加速卡的1%,显存的最小颗粒度为256M。

一.前提

1、硬件要求(当前支持的加速卡类型,其他类型加速卡可以咨询售后)

BI-V100
BI-V150S
BI-V150
MR-V100

MR-V100-DUO

2、版本要求

  • K8s,集群版本必须 v1.20+,建议版本不小于v1.31

  • Helm版本v3.2.0+

3、环境要求

  • 确保计算节点所在的宿主机已成功安装天数智算软件栈和驱动,详情请参考《软件栈安装指南》。

  • 使用 ixsmi 命令可以查看到天数智芯加速卡的状态正常。

  • 执行 ll 命令检查软链接 /usr/local/corex 是否存在:ll /usr/local/corex

4、已经成功部署k8s组件(网络组件以calico)

粘贴图片

二.如果之前安装过VGPU旧版本,先卸载掉旧版本

删除VGPU相关组件

kubectl delete namespace iluvatar-vgpu    #iluvatar-vgpu 修改为你的namespace 名

或者

helm uninstall iluvatar-vgpu -n iluvatar-vgpu  

三.安装部署VGPU组件

1、下载VGPU组件

通过SFTP下载,SFTP下载地址和密码,请联系天数售后工程师获取

sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn

get /client_tmp/support/k8s/4.4.0/vgpu-nolicense/*  ./

2、通过Helm部署方式创建命名空间并安装VGPU组件

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 > helm.sh

bash helm.sh

3、确认容器运行时

# 执行命令之前,需要确认系统下装的cri-docker 还是cri-container

ls /var/run/cri-dockerd.sock

ls /var/run/containerd/containerd.sock

4、VGPU 安装

helm install iluvatar-vgpu --namespace iluvatar-vgpu --create-namespace \

  --set manager.product="{BI-V100,BI-V150S,BI-V150,MR-V100,MR-V100-DUO}" \
  --set manager.containerRuntimeEndpoint=${/container/containerd.sock用自己系统下的容器运行时} \
  iluvatar-vgpu-manager-3.0.7.tgz

5、通过kubectl get pod -n ${namespace}可以查看已安装的VGPU组件,如果所示:

粘贴图片

6、创建使用虚拟GPU资源工作Pod

pod_demo.yaml

apiVersion: v1
kind: Pod
metadata:
   name: poddemo
spec:
   restartPolicy: Never
   containers:
   - name: poddemo
     image: corex:4.4.0
     command :
     - bash
     args:
     - -c
     - |
       set -ex
       echo "export LD_LIBRARY_PATH=/usr/local/corex/lib64:$LD_LIBRARY_PATH" >> /root/.bashrc
       cp -f /usr/local/iluvatar/lib64/libcuda.*   /usr/local/corex/lib64/
       cp -f /usr/local/iluvatar/lib64/libixml.*   /usr/local/corex/lib64/
       source /root/ .bashrc
       sleep 360000
     volumeMounts:
     - name: host-data
       mountPath: /data
     resources:
       requests:
         iluvatar.ai/BI-V150S.vCore:50
         iluvatar.ai/BI-V150S.vMem:64 
       limits:
         iluvatar.ai/BI-V150S.vCore: 50
         iluvatar.ai/BI-V150S.vMem: 64
   volumes:
   - name: host-data
     hostPath:
       path: /data
       type:  DirectoryOrCreate
kubectl create -f pod_demo.yaml

 kubectl exec -it poddemo -n default -- /bin/bash

粘贴图片

7、测试

#进入到Pod 内

kubectl exec -it poddemo -n default -- /bin/bash

执行

python3 -c "import torch; print(torch.__version__, torch.version.cuda)"

输出torch 版本号,则环境正常

python3 -c "import torch;print(torch. cuda. is_available())"

输出true,则显示环境正常

# 执行ixsmi ,检查显存大小是否是整张加速卡大小的1/2,如果是,则VGPU虚拟化部署正常。






笔记



 附件

附件类型

JPGJPG

天数智芯知识库系统 -V 5.2.7 -wcp