Using GPU resource in kubernetes deployment with minikube

Viewed 433

I am deploying an application which uses gpu in minikube locally. For that I am unable to mount gpu resouce on minikube. So I am getting

Warning  FailedScheduling  33s (x3 over 96s)  default-scheduler  0/1 nodes are available: 1 Insufficient nvidia.com/gpu

For this I have seen couple of answers which suggested

  1. KVM2 drive https://minikube.sigs.k8s.io/docs/tutorials/nvidia_gpu/#using-the-kvm2-driver . I can't use it as it requires additional gpu cause it take one.
  2. None driver https://minikube.sigs.k8s.io/docs/tutorials/nvidia_gpu/#using-the-none-driver This require sudo access

Basically I can't use these method for this I found a workaround using which uses docker driver mentioned https://github.com/NVIDIA/k8s-device-plugin#preparing-your-gpu-nodes I was followed every steps installed

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

$ sudo apt-get update && sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker

in minikube nodes then deployed

$ kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.7.1/nvidia-device-plugin.yml

But when I see the resources with command

kubectl get nodes -ojson | jq .items[].status.capacity
{
  "cpu": "16",
  "ephemeral-storage": "959863856Ki",
  "hugepages-1Gi": "0",
  "hugepages-2Mi": "0",
  "memory": "32881396Ki",
  "pods": "110"
}

No gpu. To start minikube I am using following command

minikube start --driver=docker

What am I doing wrong here?

0 Answers
Related