自建 免费 NVIDIA vGPU15 License  Server 授权许可服务器

自建 免费 NVIDIA vGPU15 License Server 授权服务器,vGPU的虚拟机运行会定时向License服务器发起License请求。
1、CentOS 7 安装docker服务
2、创建配置和生成容器
3、Linux 客户端激活
4、Windows 客户端激活

1、CentOS 7安装Docker服务

#安装依赖

  1. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

#添加Docker源

  1. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#安装Docker

  1. sudo yum install -y docker-ce docker-ce-cli containerd.io

#国内建议修改配置 Docker 镜像加速器

  1. cat > /etc/docker/daemon.json << EOF
  2. {
  3. "dns": ["114.114.114.114", "180.76.76.76"],
  4. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  5. "bip": "192.168.199.1/24",
  6. "debug": true,
  7. "log-level": "info",
  8. "live-restore": true
  9. }
  10. EOF

#启动Docker

  1. sudo systemctl start docker

#设置开机启动

  1. sudo systemctl enable docker

# 拉取最新镜像

  1. docker pull collinwebdesigns/fastapi-dls:latest

# 保存镜像,以备不时之需

  1. docker save -o collinwebdesigns_fastapi-dls.tar collinwebdesigns/fastapi-dls:latest

2、创建配置和生成容器

# 创建目录

  1. mkdir -p /opt/docker/fastapi-dls/cert
  2. cd /opt/docker/fastapi-dls/cert

# 生成公私钥

  1. openssl genrsa -out /opt/docker/fastapi-dls/cert/instance.private.pem 4096
  2. 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 证书

  1. 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

输入属下信息

  1. Country Name (2 letter code) [XX]:CN
  2. State or Province Name (full name) []:HN
  3. Locality Name (eg, city) [Default City]:ZZ
  4. Organization Name (eg, company) [Default Company Ltd]:zhangfangzhou
  5. Organizational Unit Name (eg, section) []:zhangfangzhou
  6. Common Name (eg, your name or your server's hostname) []:zhangfangzhou
  7. Email Address []:admin@zhangfangzhou.cn

# 配置创建容器 `hostname -i` 换成自己的 IP 即可

  1. docker volume create zhangfangzhou-dls-db
  2. 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

#例如

  1. 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

3、Linux 客户端激活

  1. 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 服务:

  1. service nvidia-gridd restart

#也可以使用命令行查看授权细节:

  1. nvidia-smi -q |findstr Lincese

4、Windows 桌面客户端激活

使用管理员权限运行 Powershell

  1. C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
  2. 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"
  3. Restart-Service NVDisplay.ContainerLocalSystem
自建 免费 NVIDIA vGPU15 License  Server 授权许可服务器

容器接口
下表只列出了主要的接口,更详细的接口可以参考 /-/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 生成客户端令牌

docker-compose方式部署示例代码如下:

  1. version: '3.8'
  2. services:
  3. nls-si-0:
  4. image: dls:appliance_3.2.0
  5. environment:
  6. - DLS_DB_HOST=172.16.238.10
  7. - DLS_PUBLIC_IP=${DLS_PUBLIC_IP}
  8. - DLS_PUBLIC_IP4=${DLS_PUBLIC_IP4}
  9. - DLS_HTTPS_PORT=${DLS_HTTPS_PORT:-443}
  10. - DLS_HTTP_PORT=${DLS_HTTP_PORT:-80}
  11. - DLS_EXPOSED_HTTP_PORT=${DLS_EXPOSED_HTTP_PORT:-80}
  12. - DLS_EXPOSED_HTTPS_PORT=${DLS_EXPOSED_HTTPS_PORT:-443}
  13. - DLS_PRIVATE_HOSTNAME=${DLS_PRIVATE_HOSTNAME}
  14. - DLS_RABBITMQ_SSL_PORT=${DLS_RABBITMQ_SSL_PORT:-5671}
  15. - DLS_VA_SERVICE_PORT=${DLS_VA_SERVICE_PORT:-8085}
  16. - DLS_HA_MAX_NODES_ENV=${DLS_HA_MAX_NODES_ENV:-2}
  17. - CPU_CORE_LIMIT=${CPU_CORE_LIMIT:-4}
  18. - INTERNAL_LEASING_PORT=${INTERNAL_LEASING_PORT:-18082}
  19. - INTERNAL_ADMIN_PORT=${INTERNAL_ADMIN_PORT:-18080}
  20. - INTERNAL_AUTH_PORT=${INTERNAL_AUTH_PORT:-18081}
  21. - INTERNAL_SERVICE_INSTANCE_PORT=${INTERNAL_SERVICE_INSTANCE_PORT:-18084}
  22. - INTERNAL_FILE_INSTALL_PORT=${INTERNAL_FILE_INSTALL_PORT:-18083}
  23. - INTERNAL_NLL_PORT=${INTERNAL_NLL_PORT:-18086}
  24. - INTERNAL_VA_PORT=${INTERNAL_VA_PORT:-8085}
  25. - INTERNAL_SUPERVISORCTL_PORT=${INTERNAL_SUPERVISORCTL_PORT:-9001}
  26. depends_on:
  27. - postgres-nls-si-0
  28. ports:
  29. - ${DLS_EXPOSED_HTTP_PORT:-80}:${DLS_HTTP_PORT:-80}
  30. - ${DLS_EXPOSED_HTTPS_PORT:-443}:${DLS_HTTPS_PORT:-443}
  31. - ${DLS_RABBITMQ_SSL_PORT:-5671}:${DLS_RABBITMQ_SSL_PORT:-5671}
  32. - ${DLS_VA_SERVICE_PORT:-8085}:8085
  33. - 8081:8081
  34. - 8082:8082
  35. - 8083:8083
  36. - 8084:8084
  37. - 4369:4369
  38. volumes:
  39. - type: volume
  40. source: configurations
  41. target: /etc/dls/network
  42. - type: volume
  43. source: rabbitmq_data
  44. target: /bitnami/rabbitmq/mnesia
  45. - type: volume
  46. source: logs
  47. target: /var/log
  48. deploy:
  49. resources:
  50. limits:
  51. memory: ${DLS_APPLIANCE_CONTAINER_MEMORY_LIMIT:-6144}M
  52. cpus: "${CPU_CORE_LIMIT:-4}"
  53. reservations:
  54. cpus: "${CPU_CORE_LIMIT:-4}"
  55. memory: ${DLS_APPLIANCE_CONTAINER_MEMORY_LIMIT:-6144}M
  56. hostname: ${DLS_PRIVATE_HOSTNAME}
  57. networks:
  58. back-tier:
  59. ipv4_address: 172.16.238.13
  60. ipv6_address: 2001:3984:3989::11
  61. postgres-nls-si-0:
  62. image: dls:pgsql_3.2.0
  63. restart: always
  64. command: postgres -c max_connections='1000'
  65. networks:
  66. back-tier:
  67. ipv4_address: 172.16.238.10
  68. ipv6_address: 2001:3984:3989::10
  69. logging:
  70. options:
  71. max-size: 10m
  72. max-file: "3"
  73. volumes:
  74. - postgres-data:/var/lib/postgresql/data
  75. - configurations:/etc/dls/config
  76. deploy:
  77. resources:
  78. limits:
  79. memory: ${DLS_POSTGRES_CONTAINER_MEMORY_LIMIT:-2048}M
  80. cpus: "${CPU_CORE_LIMIT:-4}"
  81. reservations:
  82. cpus: "${CPU_CORE_LIMIT:-4}"
  83. memory: ${DLS_POSTGRES_CONTAINER_MEMORY_LIMIT:-2048}M
  84. networks:
  85. back-tier:
  86. enable_ipv6: true
  87. driver: bridge
  88. ipam:
  89. driver: default
  90. config:
  91. - subnet: 172.16.238.0/24
  92. - subnet: 2001:3984:3989::/64
  93. gateway: 2001:3984:3989::1
  94. volumes:
  95. postgres-data:
  96. name: postgres-data
  97. venv:
  98. name: venv
  99. configurations:
  100. name: configurations
  101. rabbitmq_data:
  102. name: rabbitmq_data
  103. logs:
  104. name: logs
声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
VMware vSphere

深入解析:Horizon View虚拟机图形加速技术应用案例

2024-11-27 21:26:29

VMware vSphere

解决AD域用户安装软件权限问题

2024-12-12 16:58:12

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索