首先介绍一下
该项目来源于
https://hub.docker.com/r/collinwebdesigns/fastapi-dls
但由于需要用OpenSSL生成证书,有一定使用门槛(?),因此自封了个证书进去,也就是文中使用的docker镜像
如果有一定的技术能力,可以直接参考原文教程
这个东西是一个很新的东西,相关缺陷报告目前尚未得知,请谨慎用于生产环境
如后续有勘误与补充会在评论区中
开局第一步
你自然是得有一个docker环境,此处不再进行赘述,没有docker的可以参考别的PVE使用docker的文章
当然,你PVE中也得正常安装使用VGPU,具体安装方式可以看其他文章
此处以NVIDIA-Linux-x86_64-510.108.03-vgpu-kvm 为例
你可以从NVIDIA官网、网盘或第三方网站(如:https://archive.biggerthanshit.com/NVIDIA/ )获取驱动
请注意你获取的是vgpu驱动及对应版本的grid驱动,而不是quadro以及geforce驱动
寻找ip地址
该镜像需要一个DLS_URL,该处可以填写你访问该容器的IP,比如本次例子是10.1.1.107
这个DLS_URL与DLS_PORT的作用,是告知虚拟机内的grid驱动,访问哪个IP与端口获取授权
在本例中,(10.1.1.107:443)为一台跑docker的centos机器443端口,实际使用时请结合实际情况
后续生成授权与访问该服务需要用到
创建容器
如果你是TrueNas请忽略本节,按下一节的步骤操作
执行命令
docker run -d -e DLS_URL=10.1.1.107 -e DLS_PORT=443 -p 443:443 makedie/fastapi-dls
此处的DLS_URL与DLS_PORT是后续生成授权文件,告知guest如何访问授权容器,如果你要使用192.168.2.123:1234访问,则创建容器的命令应为
docker run -d -e DLS_URL=192.168.2.123 -e DLS_PORT=1234 -p 1234:443 makedie/fastapi-dls
随着版本更新,如果需要指定最新版本,去hub看看,假如需要使用1.3.5版本则
https://hub.docker.com/repository/docker/makedie/fastapi-dls/tags?page=1&ordering=last_updated
docker run -d -e DLS_URL=10.1.1.107 -e DLS_PORT=443 -p 443:443 makedie/fastapi-dls:1.3.5
创建容器即可
关于TrueNas的特殊情况
本小节仅针对在truenas中部署授权服务容器,如果你用的不是这东西,忽略此节
并按上一节的创建容器正常操作
如果您使用的是TrueNas,需要知道一件事情,trueNas虽然写着docker,但实际上运行的是k3s(即阉割版本k8s)
此处以面板安装方式举例,由于TrueNas默认会占用443端口,因此本例会使用9443端口作为替代
本例的TrueNas的外部访问IP依旧为10.1.1.107
以下未提及的页面,使用默认配置即可
首先指定一个pod名称,也就是上图的应用名称
镜像名与标签如图所示,都可以在docker命令中看见复制过来即可
如图所示,本例因为TrueNas的443端口被占用,DLS_PORT端口被换为9443
上图的容器端口,为443无需改动,节点端口对应刚刚我们决定的9443端口
等等镜像下载,根据网络情况的不同花费的时间也不同,可以点击查看应用事件观察进行到的进度
如图所示,下载用了1分3秒,如果您的网络情况不佳可能需要更多时间
最后可以看见,TrueNas的面板已经有了个9443端口跑着的授权“容器”
于虚拟机安装VGPU驱动
首先我们得安装vgpu使用的grid驱动,此处以512.78_grid_win10_win11_server2016_server2019_server2022_64bit_international 为例
注意:目前已知的成功案例的guest驱动均为5XX.XX版本,4XX.XX版本未有成功案例
直接安装即可,这里就不附带图片了,相信装个驱动……不至于吧
安装完驱动会提示需要重启,此时不急着重启,先把授权应用了再进行重启
应用授权
首先先创建一个路径为
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 的目录
于虚拟机内使用浏览器,访问刚刚创建的docker容器,https://10.1.1.107/client-token
注意:根据容器版本的不同,这个地址可能是https://10.1.1.107/-/client-token 注意自行尝试
DLS_URL=10.1.1.107 DLS_PORT=443
此处IP对应DLS_URL如果端口指定了非443的记得加端口访问
此时会下载一个文件
将该文件保存至虚拟机内刚刚创建的目录中,如图所示
随后,重启虚拟机
验证授权
重启完成后,右下角即可看见授权已获得
观察PVE日志,也可以看见授权日志
在虚拟机中使用nvidia-smi -q 查看
容器的日志也有访问记录
作者:忆海心阶 https://www.bilibili.com/read/cv23075952/ 出处:bilibili