feat(observability): add DCGM nvidia-exporter for GPU metrics
This commit is contained in:
19
compose.yml
19
compose.yml
@@ -599,6 +599,25 @@ services:
|
||||
start_period: 30s
|
||||
restart: unless-stopped
|
||||
|
||||
nvidia-exporter:
|
||||
image: nvcr.io/nvidia/k8s/dcgm-exporter:3.3.9-3.6.1-ubuntu22.04
|
||||
container_name: nvidia-exporter
|
||||
networks:
|
||||
- observability
|
||||
runtime: nvidia
|
||||
environment:
|
||||
- DCGM_EXPORTER_NO_HOSTNAME=1
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
restart: unless-stopped
|
||||
|
||||
promtail:
|
||||
image: grafana/promtail:latest
|
||||
container_name: promtail
|
||||
|
||||
@@ -59,3 +59,18 @@ class TestCadvisor:
|
||||
# rootfs, sys, /dev/disk needed for resource introspection
|
||||
assert any(s == "/" for s in sources)
|
||||
assert any(s == "/sys" for s in sources)
|
||||
|
||||
|
||||
class TestNvidiaExporter:
|
||||
def test_nvidia_exporter_present(self):
|
||||
svcs = _services()
|
||||
assert "nvidia-exporter" in svcs
|
||||
|
||||
def test_nvidia_runtime(self):
|
||||
svc = _services()["nvidia-exporter"]
|
||||
assert svc.get("runtime") == "nvidia"
|
||||
|
||||
def test_nvidia_gpu_reservation(self):
|
||||
svc = _services()["nvidia-exporter"]
|
||||
devices = svc["deploy"]["resources"]["reservations"]["devices"]
|
||||
assert any(d.get("driver") == "nvidia" for d in devices)
|
||||
|
||||
Reference in New Issue
Block a user