要在 CentOS 7 上设置 Kubernetes(k8s)的 NVIDIA GPU 共享访问和 CUDA 时间切片,以及将虚拟 GPU 数量设置为 10,可以按照以下步骤进行操作:

  1. 首先,确保您的系统已经安装了 NVIDIA 显卡驱动程序,以及 CUDA 工具包和 NVIDIA 容器运行时(nvidia-docker2)。

  2. 安装 NVIDIA Device Plugin for Kubernetes,这是一个 Kubernetes 插件,用于管理 GPU 资源。可以使用以下命令进行安装:

kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.9.0/nvidia-device-plugin.yml
  1. 在 Kubernetes 集群的节点上,编辑 kubelet 的配置文件(/etc/default/kubelet),并添加以下参数:
KUBELET_EXTRA_ARGS="--feature-gates=DevicePlugins=true"
  1. 重新启动 kubelet 服务:
sudo systemctl restart kubelet
  1. 创建一个文件(例如,gpu-pod.yaml),并将以下内容复制到文件中:
apiVersion: v1
kind: Pod
metadata:
  name: gpu-pod
spec:
  containers:
  - name: gpu-container
    image: nvidia/cuda:11.0-base
    resources:
      limits:
        nvidia.com/gpu: 1
  1. 使用 kubectl 命令创建 Pod:
kubectl create -f gpu-pod.yaml
  1. 检查 Pod 的状态,确保它已经运行并且没有出现错误:
kubectl get pod gpu-pod
  1. 现在,您可以使用 NVIDIA 的设备插件来设置虚拟 GPU 数量为 10。编辑 kubelet 的配置文件(/etc/default/kubelet),并添加以下参数:
KUBELET_EXTRA_ARGS="--feature-gates=DevicePlugins=true --resource-reservations=^nvidia\.com/gpu$"
  1. 重新启动 kubelet 服务:
sudo systemctl restart kubelet
  1. 创建一个文件(例如,virtual-gpu.yaml),并将以下内容复制到文件中:
apiVersion: v1
kind: Pod
metadata:
  name: virtual-gpu-pod
spec:
  containers:
  - name: virtual-gpu-container
    image: nvidia/cuda:11.0-base
    resources:
      limits:
        'virtual-gpu.kubeflow.org/gpu': 10
  1. 使用 kubectl 命令创建 Pod:
kubectl create -f virtual-gpu.yaml
  1. 检查 Pod 的状态,确保它已经运行并且没有出现错误:
kubectl get pod virtual-gpu-pod

现在,您应该已经成功地在 CentOS 7 上设置了 Kubernetes 的 NVIDIA GPU 共享访问和 CUDA 时间切片,并将虚拟 GPU 数量设置为 10。

CentOS 7 上设置 Kubernetes NVIDIA GPU 共享访问和 CUDA 时间切片

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

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