Add doc for k8s intel gpu device plugin under operations

Patchset 3: reST formatting, minor grammar and capitalization, typo
Patchset 6: minor grammar edits
Patchset 7: Wording updates per feedback

Story: 2005937
Task: 37644

Change-Id: I65c5fd9be894b5de5132af43daba202496b6654e
Signed-off-by: SidneyAn <ran1.an@intel.com>
Signed-off-by: Kristal Dale <kristal.dale@intel.com>
This commit is contained in:
SidneyAn 2019-11-27 16:02:13 +08:00 committed by Kristal Dale
parent 701d6f7cbe
commit cc14f92647
2 changed files with 78 additions and 0 deletions

View File

@ -33,6 +33,7 @@ Kubernetes Operation
k8s_persistent_vol_claims
k8s_sriov_config
k8s_qat_device_plugin
k8s_gpu_device_plugin
-------------------
OpenStack Operation

View File

@ -0,0 +1,77 @@
================================================
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:
#. Launch the ``intel-gpu-plugin`` daemonset.
Add the following lines to the ``localhost.yaml`` file before playing the
Ansible bootstrap playbook to configure the system.
::
k8s_plugins:
intel-gpu-plugin: intelgpu=enabled
#. Assign the ``intelgpu`` label 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 ``intelgpu``
label to the compute-0 node.
::
$ NODE=compute-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
-------------------------------------
Add a ``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:
* `Kubernetes manifest file example <https://github.com/intel/intel-device-plugins-for-kubernetes/blob/master/demo/intelgpu-job.yaml>`_
* `Scheduling pods on nodes with Intel GPU example <https://github.com/intel/intel-device-plugins-for-kubernetes/blob/master/cmd/gpu_plugin/README.md#test-gpu-device-plugin>`_