k8s/roles/nvidia_device_plugin/README.md

64 lines
1.9 KiB
Markdown

# NVIDIA Device Plugin
Installs NVIDIA Kubernetes Device Plugin via Helm with GPU Feature Discovery support.
## Requirements
- Kubernetes cluster with NVIDIA GPU workers
- NVIDIA drivers installed on GPU nodes
- nvidia-container-toolkit configured
## Role Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `nvidia_device_plugin_chart_version` | `0.17.1` | NVIDIA device plugin Helm chart version |
| `nvidia_device_plugin_namespace` | `nvidia-device-plugin` | Kubernetes namespace |
| `nvidia_device_plugin_config` | `{}` | ConfigMap configuration |
| `nvidia_device_plugin_compat_with_cpu_manager` | `false` | Enable CPUManager compatibility |
| `nvidia_device_plugin_mig_strategy` | `none` | MIG strategy: `none`, `single`, `mixed` |
| `nvidia_device_plugin_fail_on_init_error` | `true` | Fail on init error |
| `nvidia_device_plugin_device_list_strategy` | `envvar` | Device list strategy |
| `nvidia_device_plugin_device_id_strategy` | `uuid` | Device ID strategy |
| `nvidia_device_plugin_nvidia_driver_root` | `/` | NVIDIA driver root path |
| `nvidia_device_plugin_gfd.enabled` | `true` | Deploy GPU Feature Discovery |
| `nvidia_device_plugin_nfd` | see defaults | Node Feature Discovery config |
## Example Playbook
```yaml
- hosts: k8s_manager
become: false
roles:
- nvidia_device_plugin
```
## Configuration Examples
### MIG Strategy
```yaml
nvidia_device_plugin_mig_strategy: "mixed"
```
### ConfigMap
```yaml
nvidia_device_plugin_config:
map:
default: |
version: v1
flags:
migStrategy: none
mig-mixed: |
version: v1
flags:
migStrategy: mixed
default: "default"
```
## References
- [NVIDIA k8s-device-plugin GitHub](https://github.com/NVIDIA/k8s-device-plugin)
- [Helm Chart Values](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.17.1/deployments/helm/nvidia-device-plugin/values.yaml)