自建 免费 NVIDIA vGPU15 License Server 授权服务器,vGPU的虚拟机运行会定时向License服务器发起License请求。
1、CentOS 7 安装docker服务
2、创建配置和生成容器
3、Linux 客户端激活
4、Windows 客户端激活
1、CentOS 7 安装docker服务
#安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#添加Docker源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
#国内建议修改配置 Docker 镜像加速器
cat > /etc/docker/daemon.json << EOF { "dns": ["114.114.114.114", "180.76.76.76"], "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], "bip": "192.168.199.1/24", "debug": true, "log-level": "info", "live-restore": true } EOF
#启动Docker
sudo systemctl start docker
#设置开机启动
sudo systemctl enable docker
# 拉取最新镜像
docker pull collinwebdesigns/fastapi-dls:latest
# 保存镜像,以备不时之需
docker save -o collinwebdesigns_fastapi-dls.tar collinwebdesigns/fastapi-dls:latest
2、创建配置和生成容器
# 创建目录
mkdir -p /opt/docker/fastapi-dls/cert cd /opt/docker/fastapi-dls/cert
# 生成公私钥
openssl genrsa -out /opt/docker/fastapi-dls/cert/instance.private.pem 4096 openssl rsa -in /opt/docker/fastapi-dls/cert/instance.private.pem -outform PEM -pubout -out /opt/docker/fastapi-dls/cert/instance.public.pem
# 为 Web 服务器生成 SSL 证书
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /opt/docker/fastapi-dls/cert/webserver.key -out /opt/docker/fastapi-dls/cert/webserver.crt
输入属下信息
Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:HN Locality Name (eg, city) [Default City]:ZZ Organization Name (eg, company) [Default Company Ltd]:zhangfangzhou Organizational Unit Name (eg, section) []:zhangfangzhou Common Name (eg, your name or your server's hostname) []:zhangfangzhou Email Address []:admin@zhangfangzhou.cn
原创文章 https://www.zhangfangzhou.cn/free-nvidia-vgpu15-license-server.html
# 配置创建容器 `hostname -i` 换成自己的 IP 即可
docker volume create zhangfangzhou-dls-db
docker run -itd --restart=always -e LEASE_EXPIRE_DAYS=1825 -e DLS_URL=`hostname -i` -e DLS_PORT=8443 -p 8443:443 -v /opt/docker/fastapi-dls/cert:/app/cert -v zhangfangzhou-dls-db:/app/database collinwebdesigns/fastapi-dls:latest
#例如
docker run -itd --restart=always -e LEASE_EXPIRE_DAYS=1825 -e DLS_URL=10.0.0.7 -e DLS_PORT=8443 -p 8443:443 -v /opt/docker/fastapi-dls/cert:/app/cert -v zhangfangzhou-dls-db:/app/database collinwebdesigns/fastapi-dls:latest
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://10.0.0.7:8443/-/client-token
#接着重启 nvidia-gridd service 服务:
service nvidia-gridd restart
#也可以使用命令行查看授权细节:
nvidia-smi -q |findstr Lincese
4、Windows 客户端激活
使用管理员权限运行 Powershell,
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken curl.exe --insecure -L -X GET https://10.0.0.7:8443/-/client-token -o "C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\client_configuration_token_$($(Get-Date).tostring('dd-MM-yy-hh-mm-ss')).tok" Restart-Service NVDisplay.ContainerLocalSystem
容器接口
下表只列出了主要的接口,更详细的接口可以参考 /-/docs 和 /-/redoc 的 PATH 接口文档。
请求方法 PATH 解释说明
GTE / 重定向到 /-/readme
GTE /-/health 用于运行状况检查,还显示当前版本和提交哈希。
GTE /-/readme HTML 页面展示 README.md
GTE /-/docs GET /-/openapi.json 展示 Swagger UI 页面的接口文档
GTE /-/redoc GET /-/openapi.json 展示 ReDoc 页面的接口文档
GTE /-/manage 显示用于删除源或租约的非常基本的 UI
GTE /-/origins?leases=false 列出注册的原产地,origin 参数指的是包括每个租约的引用源
DELETE /-/origins 删除所有源及其租约
GTE /-/leases?origin=false 列出当前租约,origin 参数指的是包括每个租约的引用源
DELETE /-/lease/{lease_ref} 删除租约
GTE /client-token 生成客户端令牌