Intel® QuickAssist Technology (QAT) Kubernetes 设备插件(以下简称“QAT设备插件”)是一款用于Kubernetes集群的设备插件,旨在将Intel QAT硬件加速资源暴露给集群中的容器化应用。通过该插件,Kubernetes节点可自动发现、管理QAT硬件设备,并将其作为可调度资源提供给Pod,使应用能够直接利用QAT硬件的加密/解密、压缩/解压缩加速能力,提升数据处理性能并降低CPU占用。
qatlib驱动框架。intel.com/qat),支持通过Pod的resources.requests和resources.limits声明资源需求。qat_config工具生成的设备配置文件)。qatlib ≥ 2.0)及用户态工具(qat-config);lspci命令验证设备存在(如00:04.0 Co-processor: Intel Corporation Device 4940 (rev 01))。bash# 安装qatlib驱动及工具 yum install -y qatlib qatlib-service qat-config # 启动QAT服务并验证状态 systemctl start qat.service && systemctl enable qat.service qatadm -s # 确认QAT设备状态为"up"
QAT设备插件以DaemonSet形式部署,确保所有节点均运行插件实例。
从Intel设备插件仓库获取部署文件:
bashkubectl apply -f [***]
bash# 检查DaemonSet状态 kubectl get daemonset intel-qat-plugin -n kube-system # 检查节点资源注册情况(需替换节点名称) kubectl describe node <node-name> | grep "intel.com/qat"
输出示例:intel.com/qat: 8(表示节点可用QAT资源数量为8)。
Pod需通过resources.requests声明对QAT资源的需求,示例如下:
yamlapiVersion: v1 kind: Pod metadata: name: nginx-qat-demo spec: containers: - name: nginx image: nginx:latest resources: requests: intel.com/qat: 1 # 请求1个QAT资源单元 limits: intel.com/qat: 1 # 限制使用1个QAT资源单元 volumeMounts: - name: qat-dev mountPath: /dev/qat volumes: - name: qat-dev hostPath: path: /dev/qat # 挂载主机QAT设备文件
在Pod内执行命令,检查QAT设备是否可用:
bash# 进入Pod kubectl exec -it nginx-qat-demo -- bash # 验证QAT设备文件 ls /dev/qat # 应显示qat_dev0、qat_dev1等设备文件
QAT设备插件支持通过环境变量或ConfigMap自定义配置,以下为核心参数:
| 参数名 | 环境变量键 | 描述 | 默认值 |
|---|---|---|---|
| 资源名称 | RESOURCE_NAME | Kubernetes中注册的QAT资源名称 | intel.com/qat |
| 设备发现路径 | DEVICE_DIR | QAT设备文件所在主机路径 | /dev/qat |
| 单节点最大资源数 | MAX_DEVICES | 节点可暴露的最大QAT资源单元数量(通常与QAT设备队列数对应) | 自动计算(基于设备队列) |
| 日志级别 | LOG_LEVEL | 日志输出级别(debug/info/warn/error) | info |
| QAT驱动配置文件路径 | QAT_CONFIG_PATH | 主机上QAT驱动配置文件路径(用于自定义设备队列配置) | /etc/qat |
在非Kubernetes环境中,可通过Docker直接运行插件二进制(需挂载主机设备和Kubernetes设备插件Socket):
bashdocker run -d \ --name qat-plugin-test \ --privileged \ -v /dev/qat:/dev/qat \ -v /var/lib/kubelet/device-plugins:/var/lib/kubelet/device-plugins \ intel/intel-qat-plugin:latest \ -log-level=debug
通过修改DaemonSet的环境变量调整插件行为(如调整日志级别):
yaml# 编辑DaemonSet,添加环境变量 kubectl edit daemonset intel-qat-plugin -n kube-system # 在containers.env中添加 env: - name: LOG_LEVEL value: "debug"
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429