Accelerate compute-intensive workloads for security, encryption, authentication and compression with Intel® QuickAssist Technology (Intel® QAT), orchestrated by Kubernetes
Overview
Figure 1. Intel QAT device
The Intel® QAT device plugin provides support for Intel QAT devices under Kubernetes and enables you to harness Intel devices to increase performance and efficiency across applications and platforms, including cloud, networking, big data and storage.
Use Cases in Cloud: Boost throughput in the cloud Networking; Achieve more efficient networking Big Data: Reduce overall data size in big data Storage: Decrease storage demands
Learn more about QAT here.
The supported devices are determined by the VF device drivers available in your Linux Kernel. See the Prerequisites section for more details. Supported Devices include, but may not be limited to, the following:
- Intel® Xeon® with Intel® C62X Series Chipset
- Intel® Atom™ Processor C3000
- Intel® Communications Chipset 8925 to 8955 Series
Design and Architecture
The QAT plugin can take a number of command line arguments, summarised in the following table:
flag | argument | meaning |
---|---|---|
-dpdk-driver | string | DPDK Device driver for configuring the QAT device (default: vfio-pci ) |
-kernel-vf-drivers | string | Comma separated VF Device Driver of the QuickAssist Devices in the system. Devices supported: DH895xCC,C62x,C3xxx and D15xx (default: dh895xccvf,c6xxvf,c3xxxvf,d15xxvf ) |
-max-num-devices | int | maximum number of QAT devices to be provided to the QuickAssist device plugin (default: 32 ) |
-mode | string | plugin mode which can be either dpdk or kernel (default: dpdk ) |
The plugin also accepts a number of other arguments related to logging. Please use the -h
option to see the complete list of logging related options.
Installation and Usage
The component can be installed either using a DaemonSet or running 'by hand' on each node.
See detailed step-by-step instructions here.
Deploy via Device Plugin Operator
Kubernetes* and Intel Quick Assist Technology accelerated Envoy*
Here is an example for getting Intel Quick Assist Technology (QAT) accelerated Envoy* running on a bare-metal Kubernetes* cluster. You may need to adapt some commands to your particular cluster setup. You need to first install the QAT driver on every node which has QAT hardware installed. The driver used in this setup is located at https://01.org/sites/default/files/downloads/qat1.7.l.4.10.0-00014.tar.gz, and the package contains a README file which explains the installation.
See the rest of deployment steps here.
Test and benchmark the setup with and without QAT acceleration using K6.
Demo Videos
Intel® QuickAssist Technology Device Plugin with DPDK
The DPDK demo performs the following steps: 1. Validate the status of the Kubernetes cluster. 2. Deploy Intel® QAT device plugin directly on the host. 3. Build the DPDK image. 4. Deploy a pod to run an example DPDK application. 5. Manually execute the dpdk-test-crypto-perf application to review the logs and evaluate the data.
Intel® QuickAssist Technology Device Plugin OpenSSL demo video
The screencast demonstrates the deployment of the Intel® QAT Device Plugin for Kubernetes and executes a sample QAT accelerated OpenSSL workload with the OCI compatible Kata Containers runtime, a lightweight Virtual Machine (VM) that feels and performs like traditional containers, but provides the workload isolation and security advantages of VMs. The demo begins with a fully configured Kubernetes cluster and Kata Containers runtime for workloads.