/GPUMounter

A kubernetes plugin which enables dynamically add or remove GPU resources for a running Pod

Primary LanguageGoApache License 2.0Apache-2.0

GPU Mounter

GPUMounter License GPUMounter master CI badge GPUMounter worker CI badge

GPU Mounter is a kubernetes plugin which enables add or remove GPU resources for running Pods. This Introduction(In Chinese) is recommended to read which can help you understand what and why is GPU Mounter.

Schematic Diagram Of GPU Dynamic Mount

Features

  • Supports add or remove GPU resources of running Pod without stopping or restarting
  • Compatible with kubernetes scheduler

Prerequisite

  • Kubernetes v1.16.2 / v1.18.6 (other version not tested, v1.13+ is required, v1.15+ is recommended)
  • Docker 19.03/18.09 (other version not tested)
  • Nvidia GPU device plugin
  • nvidia-container-runtime (must be configured as default runtime)

NOTE: If you are using GPU Mounter on Kubernetes v1.13 or v1.14, you need to manually enable the feature KubeletPodResources. It is enabled by default in Kubernetes v1.15+.

Deploy

  • label GPU nodes with gpu-mounter-enable=enable
kubectl label node <nodename> gpu-mounter-enable=enable
  • deploy
chmod u+x deploy.sh
./deploy.sh deploy
  • uninstall
./deploy.sh uninstall

Quick Start

See QuickStart.md

FAQ

See FAQ.md

License

This project is licensed under the Apache-2.0 License.

Issues and Contributing

  • Please let me know by Issues if you experience any problems.
  • Pull requests are very welcomed, if you have any ideas to make GPU Mounter better.