Orchestration Software
When developing and testing container images, stand-alone docker images are often sufficient to meet these needs. When it’s time to deploy these container images, container orchestration software will likely be required. Container orchestration provides the following benefits:
improved portability
improved scalability
simplified QAT resource allocation
This section describes QAT usage within Orchestration Software framework.
Clone intel device plugin:
git clone https://github.com/intel/intel-device-plugins-for-kubernetes
Start container with kubectl:
kubectl -n <namespace> apply -k intel-device-plugins-for-kubernetes/deployments/qat_plugin/overlays/e2e/
This could fail if hardware is not configured properly. Ensure system pre-requisites are installed properly
Check if QAT pods are up and running:
kubectl get pods -A | grep qat
default intel-qat-plugin-e2e-5b4bg 1/1 Running 0 192d
default intel-qat-plugin-e2e-6bdzb 1/1 Running 37 192d
default intel-qat-plugin-e2e-dkvsr 1/1 Running 9 192d
This is example output when intel-device-plugins-for-kubernetes is deployed to default namespace on 3 compute nodes in a kubernetes cluster. Pods might be in pending state initially but must be in running state before deploying application.
Log messages can be used to check for additional errors:
kubectl -n <namespace> logs <intel-qat_pod>
Verify QAT resources are available:
kubectl get nodes -o json | jq .items[].status.allocatable | grep qat "qat.intel.com/cy": "64", "qat.intel.com/dc": "64" "qat.intel.com/cy": "64", "qat.intel.com/dc": "64" "qat.intel.com/cy": "64", "qat.intel.com/dc": "64" Example of 64 cy and 64 dc resources available on each of 3 compute nodes.
If we need to delete, the following command can be used:
kubectl -n <namespace> delete -k intel-device-plugins-for-kubernetes/deployments/qat_plugin/overlays/e2e/
QAT Resource Allocation
With the orchestration (QAT device plugin), the workload owner specifies how many dc
and how many cy
VFs each container needs.
The plugin has two different allocation policies which guide the plugin to allocate VFs.
packed - VFs are obtained from one PF
balanced - VFs are spread across PFs