Elastic GPU Agent is a Kubernetes device plugin implement for gpu allocation and use in container. It runs as a Daemonset in Kubernetes node. It works as follows:
- Register gpu core and memory resources on node
- Allocate and share gpu resources for containers
- Support gpu resources qos and isolation with specific gpu driver(e.g. elastic gpu)
For the complete solution and further details, please refer to Elastic GPU Scheduler.
- Kubernetes v1.17+
- golang 1.16+
- NVIDIA drivers
- nvidia-docker
- set
nvidia
as dockerdefault-runtime
: add"default-runtime": "nvidia"
to/etc/docker/daemon.json
, and restart docker daemon.
Run make
or TAG=<image-tag> make
to build elastic-gpu-agent image
Deploy Elastic GPU Agent as follows:
$ kubectl apply -f deploy/elastic-gpu-agent.yaml
You can find more details on Elastic GPU Scheduler.
Distributed under the Apache License.