该DRA资源驱动程序目前正在积极开发中,尚未设计用于生产使用。我们(有时)可能会决定推动main提交,直到我们拥有更稳定的东西为止。自行使用。
可以在下面找到有关此存储库提供的GPU的DRA支持的文档和演示:
| 文档 | 演示 |
|---|---|
本节描述了使用kind来演示NVIDIA GPU DRA驱动程序的功能。
首先,因为我们将在GPU支持的情况下启动那种,请确保满足以下先决条件:
安装了kind 。请参阅此处的官方文件。
确保系统上安装了NVIDIA容器工具包。这可以通过在此处按照说明来完成。
将NVIDIA容器运行时配置为默认Docker运行时:
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default重新启动Docker应用更改:
sudo systemctl restart docker将accept-nvidia-visible-devices-as-volume-mounts选项设置为true中的/etc/nvidia-container-runtime/config.toml文件,以配置NVIDIA容器运行时,以使用音量安装座来选择设备以选择设备以注入一个设备中容器。
sudo nvidia-ctk config --in-place --set accept-nvidia-visible-devices-as-volume-mounts=true在机器上显示当前的GPU:
nvidia-smi -L我们首先首先将此存储cd到其中。该演示中使用的所有脚本和示例POD规格都在demo子目录中,因此请花一点时间浏览各种文件并查看可用的内容:
git clone https://github.com/NVIDIA/k8s-dra-driver.git cd k8s-dra-driver这是一个演示,展示了如何安装和配置DRA,并在Linux工作站上运行一个kind中的POD。

以下是详细的分步说明。
首先,创建一个kind集群来运行演示:
./demo/clusters/kind/create-cluster.sh从这里,我们将为示例资源驱动程序构建图像:
./demo/clusters/kind/build-dra-driver.sh这也使构建图像可用于kind集群。
现在,我们安装NVIDIA GPU DRA驱动程序:
./demo/clusters/kind/install-dra-driver.sh这应该显示两个在nvidia-dra-driver名称空间中运行的POD:
kubectl get pods -n nvidia-dra-driver NAME READY STATUS RESTARTS AGE
nvidia-k8s-dra-driver-kubelet-plugin-t5qgz 1/1 Running 0 44s
最后,您可以运行demo/specs/quickstart文件夹中包含的各种示例。随着Kubernetes v1.31的最新更新,该文件夹中只有前3个示例目前具有功能。
您可以按照以下方式运行它们:
kubectl apply --filename=demo/specs/quickstart/gpu-test{1,2,3}.yaml获取POD的状态。根据可用的GPU,运行前三个示例将产生类似于以下的输出。
注意:有一个已知问题。您可能会在试图尾部在类似群集中尾随的日志时看到错误: failed to create fsnotify watcher: too many open files.可以通过增加fs.inotify.max_user_watches的值来解决该问题。
kubectl get pod -A -l app=pod NAMESPACE NAME READY STATUS RESTARTS AGE
gpu-test1 pod1 1/1 Running 0 34s
gpu-test1 pod2 1/1 Running 0 34s
gpu-test2 pod 2/2 Running 0 34s
gpu-test3 pod1 1/1 Running 0 34s
gpu-test3 pod2 1/1 Running 0 34s
kubectl logs -n gpu-test1 -l app=pod GPU 0: A100-SXM4-40GB (UUID: GPU-662077db-fa3f-0d8f-9502-21ab0ef058a2)
GPU 0: A100-SXM4-40GB (UUID: GPU-4cf8db2d-06c0-7d70-1a51-e59b25b2c16c)
kubectl logs -n gpu-test2 pod --all-containers GPU 0: A100-SXM4-40GB (UUID: GPU-79a2ba02-a537-ccbf-2965-8e9d90c0bd54)
GPU 0: A100-SXM4-40GB (UUID: GPU-79a2ba02-a537-ccbf-2965-8e9d90c0bd54)
kubectl logs -n gpu-test3 -l app=pod GPU 0: A100-SXM4-40GB (UUID: GPU-4404041a-04cf-1ccf-9e70-f139a9b1e23c)
GPU 0: A100-SXM4-40GB (UUID: GPU-4404041a-04cf-1ccf-9e70-f139a9b1e23c)
删除在上述步骤中创建的群集:
./demo/clusters/kind/delete-cluster.sh