Docker&Podman部署WebGPU-Monitor(nvidia-smi On Web)
First
What is WebGPU-Monitor | 啥是 WebGPU-Monitor
顾名思义 | WebGPU-Monitor 即是一个 GPUMonitor 的网页实现
提供nvidia-smi的Web版
▼ Github Address:
OS&APP Version | 系统&软件版本
OS

Podman

APP
v1.0.0.15

Start
因为实现原理较为简单所以官方文档释义清晰
但部署方式为Docker
下面记录Podman使用过程
Run Docker
https://github.com/RobertOlechowski/WebGPU-Monitor/blob/main/README.md
Run Podman
Requirements | 要求
首先安装 nvidia-container-toolkit
# openSUSE
zypper install nvidia-container-toolkit
# debian
apt-get install -y nvidia-container-toolkit
▼ Pkg info 如下

其次我们需要按照Nvidia官方指示配置容器(container)CDI
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/cdi-support.html
配置完成后使用nvidia-ctk cdi list检查生成的设备名称
➜ ~ nvidia-ctk cdi list
INFO[0000] Found 3 CDI devices
nvidia.com/gpu=0
nvidia.com/gpu=GPU-937i9292-e117-c2c4-1e1f-c9elb227o092
nvidia.com/gpu=all
➜ ~
Podman Cli
上述条件准备完毕后我们就可以运行WebGPU-Monitor
podman run -p 127.0.0.1:30003:8000 -it --device nvidia.com/gpu=all ghcr.io/robertolechowski/webgpu-monitor:latest
Podman Quadlet
▼ 使用Podlet生成Quadlet文件
podlet podman run -p 127.0.0.1:30003:8000 -it --device nvidia.com/gpu=all ghcr.io/robertolechowski/webgpu-monitor:latest
▼ 回显如下
# webgpu-monitor.container
[Container]
AddDevice=nvidia.com/gpu=all
Image=ghcr.io/robertolechowski/webgpu-monitor:latest
PodmanArgs=--interactive --tty
PublishPort=127.0.0.1:30003:8000
▼ 完全体如下所示(添加Unit和Install)
[Unit]
Description=This web application enables real-time monitoring and management of GPU cards
After=network-online.target
Wants=network-online.target
Before=shutdown.target
[Container]
AddDevice=nvidia.com/gpu=all
Image=ghcr.io/robertolechowski/webgpu-monitor:latest
PodmanArgs=--interactive --tty
PublishPort=127.0.0.1:30003:8000
[Install]
WantedBy=multi-user.target
▼ 整个过程看起来如图所示

▼ 重载systemd
systemctl daemon-reload
▼ 启动 WebGPU-Monitor
systemctl start webgpu-monitor
Use | 使用
启动完成后按照设定的URL打开即可
▼ 界面如下所示

Ex | 拓展
With Haproxy
如果你使用haproxy做反向代理
▼ 那么主要配置为您呈上
acl webgpu hdr_reg(host) -i xxx.xxx
use_backend webgpu-s if webgpu
backend webgpu-s
mode http
server webgpu-s 127.0.0.1:30003
Over | 总结
简单小巧的一个容器程序
nvidia-smi的Web实现
期待后期能够带来更多功能
Learn from | 抄袭
同时感谢作者的付出