Files
OpenShell/deploy/kube/gpu-manifests/nvidia-device-plugin-helmchart.yaml
jtoelke2 32857eb650 fix(helm): grant node read access for GPU capacity checks (#1106)
* fix(helm): grant node read access for GPU capacity checks

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>

* ci: add WSL GPU failure diagnostics

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>

* fix(gpu): bump device plugin for WSL CDI

* fix(sandbox): allow WSL GPU paths in Landlock

Allow /dev/dxg and /usr/lib/wsl as GPU baseline paths so WSL CDI GPU sandboxes can initialize NVML. Native Linux skips these entries when the paths do not exist.

* ci: remove temporary WSL GPU diagnostics

---------

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>
2026-05-01 17:49:49 -05:00

45 lines
1.6 KiB
YAML

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# HelmChart CR for auto-deploying the NVIDIA k8s-device-plugin via k3s Helm controller.
# This manifest is conditionally copied into /var/lib/rancher/k3s/server/manifests/
# by the cluster entrypoint when GPU_ENABLED=true.
#
# The chart installs:
# - NVIDIA device plugin DaemonSet (advertises nvidia.com/gpu resources)
#
# NFD and GFD are disabled; the device plugin's default nodeAffinity
# (which requires nvidia.com/gpu.present=true) is overridden to empty
# so it schedules on any node without requiring NFD/GFD labels.
#
# CDI injection mode: the device plugin uses deviceListStrategy=cdi-cri so that
# devices are injected via CDI hooks before container start. Sandbox pods only
# need the nvidia.com/gpu resource request — no runtimeClassName is required.
#
# k3s auto-detects nvidia-container-runtime on PATH and registers the "nvidia"
# RuntimeClass automatically, so no manual RuntimeClass manifest is needed.
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: nvidia-device-plugin
namespace: kube-system
spec:
repo: https://nvidia.github.io/k8s-device-plugin
chart: nvidia-device-plugin
version: "0.19.1"
targetNamespace: nvidia-device-plugin
createNamespace: true
valuesContent: |-
runtimeClassName: nvidia
deviceListStrategy: cdi-cri
deviceIDStrategy: index
cdi:
nvidiaHookPath: /usr/bin/nvidia-cdi-hook
nvidiaDriverRoot: "/"
gfd:
enabled: false
nfd:
enabled: false
affinity: null