The VMware vGPU Scheduler for Kubernetes is a Scheduler Extender that allows you to deploy the vGPU Pod to most suitable Node. See more about Kubernetes Scheduler.
The list of prerequisites for running the Vmware vGPU Scheduler is described below:
- Kubernetes version >= 1.15
- Golang version >= 1.12
Scheduler needs to interact with Kubernetes resources like any other API resource(via kubectl, API calls, etc.). So we need to gain the access authority of Kubernetes as following:
$ kubectl create -f https://raw.githubusercontent.com/laputaq/vgpu-scheduler/master/deployment/rbac.yaml
After setting up the serviceAccount. We can deploy the vGPU Scheduler as Deployment as following:
$ kubectl create -f https://raw.githubusercontent.com/laputaq/vgpu-scheduler/master/deployment/deployment.yaml
if
hostNetwork
is not set astrue
, it will have an issue with Scheduler not being able to access the Kubernetes Network, which appears to be due to the empty KUBE-MARK-MASQ forwarded by KUBE-SERVICES in iptables.
$ docker pull laputaq/vgpu-scheduler:v1.0
$ docker run -d --name vgpu-scheduler laputaq/vgpu-scheduler:v1.0
$ git clone https://github.com/laputaq/vgpu-scheduler.git && cd vgpu-scheduler
$ go build
$ ./vgpu-scheduler