Kubernetes Intel GPU Device Plugin Configuration¶
This document describes how to enable the Intel GPU device plugin in StarlingX and schedule pods on nodes with an Intel GPU.
Enable Intel GPU device plugin¶
You can pre-install the
intel-gpu-plugin daemonset as follows:
Add the following lines to the
localhost.yamlfile before playing the Ansible bootstrap playbook to configure the system.
k8s_plugins: intel-gpu-plugin: intelgpu=enabled
intelgpulabel to each node that should have the Intel GPU plugin enabled. This will make any GPU devices on a given node available for scheduling to containers. The following example assigns the
intelgpulabel to the worker-0 node.
$ NODE=worker-0 $ system host-lock $NODE $ system host-label-assign $NODE intelgpu=enabled $ system host-unlock $NODE
After the node becomes available, verify the GPU device plugin is registered and that the available GPU devices on the node have been discovered and reported.
$ kubectl describe node $NODE | grep gpu.intel.com gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
Schedule pods on nodes with Intel GPU¶
resources.limits.gpu.intel.com to your container specification in order
to request an available GPU device for your container.
... spec: containers: - name: ... ... resources: limits: gpu.intel.com/i915: 1
The pods will be scheduled to the nodes with available Intel GPU devices. A GPU device will be allocated to the container and the available GPU devices will be updated.
$ kubectl describe node $NODE | grep gpu.intel.com gpu.intel.com/i915: 1 gpu.intel.com/i915: 0
For more details, refer to the following examples: