Skip to content

Commit c265d3e

Browse files
authored
Merge pull request #51 from chaitanya1731/doc
device_plugins: Updated Readme
2 parents a822a2a + 4a0c84e commit c265d3e

File tree

3 files changed

+106
-45
lines changed

3 files changed

+106
-45
lines changed

device_plugins/README.md

Lines changed: 32 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,37 @@
1-
## Intel Device Plugins for OpenShift
2-
3-
### overview
4-
5-
Intel Device Plugins are used to advertise Intel hardware features (resources) to OpenShift Cluster, so the workload running on pod deployed on the Clusters can use these features. To manage deployment and lifecycle of these device plugins, Intel device plugin operator is used. Intel Device Plugin Container images and operator has been certificated and released on Red Hat Ecosystem Catalog since OCP-4.10 release. Please refer to [Intel Device Plugins for Kubernetes project](https://github.com/intel/intel-device-plugins-for-kubernetes) for detail
6-
7-
### Deploy Intel Device Plugins on OpenShift
8-
9-
### Deploy Intel Device Plugins on OpenShift thourgh web Console
10-
Below operations have been verified on OCP-4.11 and OCP-4.12
11-
12-
* Install Intel Device Plugin operator
13-
1+
# Setting up Intel Device Plugins Operator
2+
3+
# Overview
4+
Intel Device Plugins are utilized to advertise Intel hardware features (resources) to a Red Hat OpenShift Container Platform (RHOCP) Cluster. This allows workloads running on pods deployed within the clusters to leverage these features. To handle the deployment and lifecycle of these device plugins, the Intel device plugins operator is used. The Intel Device Plugins container images and operator have been officially certified and published on the [Red Hat Ecosystem Catalog](https://catalog.redhat.com/software/container-stacks/detail/61e9f2d7b9cdd99018fc5736). For more details on the upstream project, please refer to [Intel Device Plugins for Kubernetes](https://github.com/intel/intel-device-plugins-for-kubernetes).
5+
6+
# Prerequisities
7+
- Provisioned RHOCP 4.12 cluster. Follow steps [here](/README.md).
8+
- Setup Node Feature Discovery (NFD). Follow steps [here](/nfd/README.md).
9+
- Setup Machine Configuration. Follow steps [here](/machine_configuration/README.md).
10+
- Optional for Intel® Data Center GPU users: Setup out-of-tree drivers for Intel GPU provisioning. Follow the steps listed [here](/kmmo/README.md).
11+
12+
# Install Intel Device Plugins Operator on Red Hat OpenShift
13+
## Installation via web console
14+
Follow the steps below to install Intel Device Plugins Operator using OpenShift web console:
15+
1. In the OpenShift web console, navigate to **Operator** -> **OperatorHub**.
16+
2. Search for **Intel Device Plugins Operator** in all items field -> Click **Install**.
17+
## Verify Installation via web console
18+
1. Go to **Operator** -> **Installed Operators**.
19+
2. Verify that the status of the operator is **Succeeded**.
20+
21+
## Installation via command line interface (CLI)
22+
Apply the [install-operator.yaml]() file:
1423
```
15-
$ operator-sdk run bundle quay.io/ocpeng/intel-device-plugins-operator-bundle:0.26.0
24+
$ oc apply -f
1625
```
1726

18-
* Verify Operator installation
19-
1. On the OpenShift console, go to **Operator** -> **Installed Operators**
20-
2. Verify the status of Intel Device Plugins Operator as **Succeeded**
21-
22-
* Deploy Intel SGX Device Plugin
23-
Follow the steps below to deploy Intel SGX Device Plugin Custom Resource
24-
1. Go to **Operator** -> **Installed Operators**
25-
2. Open **Intel Device Plugins Operator**
26-
3. Navigate to tab **Intel Software Guard Extensions Device Plugin**
27-
4. Click **Create SgxDevicePlugin ->** set correct parameters -> Click **Create**
28-
OR for any customizations, please select `YAML view` and edit details. Once done, click **Create**
29-
5. Verify CR by checking the status of DaemonSet **`intel-sgx-plugin`**
30-
6. Now `SgxDevicePlugin` is ready to deploy any workloads
27+
## Verify Installation via CLI
28+
Verify that the operator controller manager pod is up and running:
29+
```
30+
$ oc get pod | grep inteldeviceplugins-controller-manager
3131
32-
* Deploy dGPU Device Plugin
33-
Follow the steps below to deploy Intel GPU Device Plugin Custom Resource
34-
1. Go to **Operator** -> **Installed Operators**
35-
2. Open **Intel Device Plugins Operator**
36-
3. Navigate to tab **Intel GPU Device Plugin**
37-
4. Click **Create GpuDevicePlugin ->** set correct parameters -> Click **Create**
38-
OR for any customizations, please select `YAML view` and edit details. Once done, click **Create**
39-
5. Verify CR by checking the status of DaemonSet **`intel-gpu-plugin`**
40-
6. Now `GpuDevicePlugin` is ready to deploy any workloads
32+
inteldeviceplugins-controller-manager-6b8c76c867-hftqm 2/2 Running 0 17m
33+
```
4134

42-
* Deploy Intel QAT Device Plugin
43-
Follow the steps below to deploy Intel QAT Device Plugin Custom Resource
44-
1. Go to **Operator** -> **Installed Operators**
45-
2. Open **Intel Device Plugins Operator**
46-
3. Navigate to tab **Intel QuickAssist Technology Device Plugin**
47-
4. Click **Create QatDevicePlugin ->** set correct parameters -> Click **Create**
48-
OR for any customizations, please select `YAML view` and edit details. Once done, click **Create**
49-
5. Verify CR by checking the status of DaemonSet **`intel-qat-plugin`**
50-
6. Now `QatDevicePlugin` is ready to deploy any workloads
35+
# Creating Intel Device Plugin custom resource (CR)
36+
- To create an Intel SGX device plugin CR, follow this [link](/device_plugins/deploy_sgx.md):
37+
- To create an Intel GPU device plugin CR, follow this [link](/device_plugins/deploy_gpu.md):

device_plugins/deploy_gpu.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Create Intel GPU Device Plugin CR
2+
3+
## Create CR via web console
4+
1. Go to **Operator** -> **Installed Operators**.
5+
2. Open **Intel Device Plugins Operator**.
6+
3. Navigate to tab **Intel GPU Device Plugin**.
7+
4. Click **Create GpuDevicePlugin** -> set correct parameters -> Click **Create**.
8+
5. Optional: If you want to make any customizations, select YAML view and edit the details. Once you are done, click **Create**.
9+
10+
## Verify via web console
11+
1. Verify CR by checking the status of **Workloads** -> **DaemonSet** -> **intel-gpu-plugin**.
12+
2. Now `GpuDevicePlugin` is created.
13+
14+
## Create CR via CLI
15+
Apply the CR yaml file:
16+
```
17+
$ oc apply -f oc apply -f https://raw.githubusercontent.com/intel/intel-technology-enabling-for-openshift/main/device_plugins/gpu_device_plugin.yaml
18+
```
19+
20+
## Verify via CLI
21+
Verify that the device plugin CR is ready:
22+
```
23+
$ oc get GpuDevicePlugin
24+
```
25+
Output:
26+
```
27+
NAME DESIRED READY NODE SELECTOR AGE
28+
gpudeviceplugin-sample 1 1 {"intel.feature.node.kubernetes.io/gpu":"true"} 3m12s
29+
```
30+
31+
# Using Intel Data Center GPU resource exclusively
32+
In this release, we only verified and support the single Intel GPU `i915` resource dedicated to the single workload pod. To achieve this, we set `sharedDevNum: 1` and `preferredAllocationPolicy: none` as default options.
33+
As the cluster administrator, use the [gpu_device_plugin.yaml](/device_plugins/gpu_device_plugin.yaml) provided from the previous section Create CR via CLI or use the default options from Create CR via web Console.
34+
As the application owner, when claiming the i915 release, make sure the resource limits and requests are set as shown below:
35+
```
36+
spec:
37+
containers:
38+
- name: gpu-pod
39+
resources:
40+
limits:
41+
gpu.intel.com/i915: 1
42+
requests:
43+
gpu.intel.com/i915: 1
44+
```
45+
For more details, please refer to this [issue](https://github.com/intel/intel-device-plugins-for-kubernetes/issues/1408).

device_plugins/deploy_sgx.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Create Intel SGX Device Plugin CR
2+
3+
## Create a CR via web console
4+
1. Go to **Operator** -> **Installed Operators**.
5+
2. Open **Intel Device Plugins Operator**.
6+
3. Navigate to tab **Intel Software Guard Extensions Device Plugin**.
7+
4. Click **Create SgxDevicePlugin** -> set correct parameters -> Click **Create**
8+
5. Optional: If you want to make any customizations, select YAML view and edit the details. When you are done, click **Create**.
9+
10+
## Verify via web console
11+
1. Verify CR by checking the status of **Workloads** -> **DaemonSet** -> **intel-sgx-plugin**.
12+
2. Now `SgxDevicePlugin` is created.
13+
14+
## Create CR via CLI
15+
Apply the CR yaml file:
16+
```
17+
$ oc apply -f https://raw.githubusercontent.com/intel/intel-technology-enabling-for-openshift/main/device_plugins/sgx_device_plugin.yaml
18+
```
19+
20+
## Verify via CLI
21+
Verify that the device plugin CR is ready:
22+
```
23+
$ oc get SgxDevicePlugin
24+
```
25+
Output:
26+
```
27+
NAME DESIRED READY NODE SELECTOR AGE
28+
sgxdeviceplugin-sample 1 1 {"intel.feature.node.kubernetes.io/sgx":"true"} 2m
29+
```

0 commit comments

Comments
 (0)