在 CentOS 7 上设置 Kubernetes 中的 NVIDIA GPU 共享访问,可以通过 CUDA 时间切片技术实现,以下步骤可以帮助您配置:

  1. 安装 NVIDIA 驱动程序
    • 首先,确认您的 GPU 型号,并从 NVIDIA 官方网站下载相应的驱动程序。
    • 运行以下命令以启用 ELRepo 存储库:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm ```

  • 安装 NVIDIA 驱动程序:
    • 对于 NVIDIA Tesla V100 GPU,可以运行以下命令:

sudo yum install kmod-nvidia nvidia-docker2 sudo reboot ``` - 对于其他 GPU 型号,将命令中的 'kmod-nvidia' 替换为相应的驱动程序名称。

  • 验证驱动程序是否正确安装:

nvidia-smi ```

  1. 安装 Docker 和 NVIDIA Docker v2
    • 安装 Docker:

sudo yum install docker sudo systemctl enable docker sudo systemctl start docker ```

  • 安装 NVIDIA Docker v2:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo |
sudo tee /etc/yum.repos.d/nvidia-docker.repo sudo yum install -y nvidia-docker2 sudo pkill -SIGHUP dockerd ```

  1. 配置 kubelet 以支持 GPU
    • 编辑 kubelet 配置文件(/etc/systemd/system/kubelet.service.d/10-kubeadm.conf),添加以下行:

Environment='KUBELET_EXTRA_ARGS=--feature-gates=DevicePlugins=true' ```

  • 重启 kubelet 服务:

sudo systemctl daemon-reload sudo systemctl restart kubelet ```

  1. 部署 NVIDIA Device Plugin for Kubernetes
    • 克隆 NVIDIA Device Plugin 的 GitHub 存储库:

git clone https://github.com/NVIDIA/k8s-device-plugin.git ```

  • 部署设备插件:

kubectl create -f k8s-device-plugin/nvidia-device-plugin.yml ```

完成上述步骤后,您的 CentOS 7 上的 Kubernetes 集群应该已经配置了 NVIDIA GPU 的共享访问,并且支持 CUDA 时间切片技术。您可以通过在 Pod 规范中指定 GPU 资源请求来使用 GPU。例如,您可以在 Pod 的规范中添加以下内容来请求一个 GPU:

apiVersion: v1
kind: Pod
metadata:
  name: gpu-pod
spec:
  containers:
  - name: gpu-container
    image: '<your_image>'
    resources:
      limits:
        nvidia.com/gpu: 1

请注意,上述步骤假设您已经在 CentOS 7 上安装了 Kubernetes 集群。如果您还没有安装 Kubernetes,请先按照 Kubernetes 官方文档进行安装。

CentOS 7 上使用 CUDA 时间切片技术实现 Kubernetes 中 NVIDIA GPU 共享访问

原文地址: https://www.cveoy.top/t/topic/qeLH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录