本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Intel Analytics Accelerator (IAA) 设备插件为 Kubernetes 提供了使用 Intel Analytics Accelerator (IAA) 进行加速计算的能力。该插件能够发现 IAA 工作队列并将其作为节点资源呈现给 Kubernetes 集群。
IAA 插件和操作器可通过 initcontainer,借助 accel-config 工具,选择性地支持 IAA 设备和工作队列的配置。
以下部分详细介绍如何获取、构建、部署和测试 IAA 设备插件。
$ git clone [***]
要将 IAA 插件部署为 DaemonSet,需要先构建插件的容器镜像并确保节点可以访问该镜像。
使用以下命令通过 docker 构建本地容器镜像,镜像名为 intel/intel-iaa-plugin,标签为 devel:
$ cd ${INTEL_DEVICE_PLUGINS_SRC} $ make intel-iaa-plugin ... Successfully tagged intel/intel-iaa-plugin:devel
使用提供的示例 DaemonSet YAML 文件部署插件。默认的 kustomization 会按原样部署 YAML:
$ kubectl apply -k deployments/iaa_plugin daemonset.apps/intel-iaa-plugin created
项目包含一个示例 idxd initcontainer,用于配置 IAA 设备和工作队列(1 个引擎 / 1 个组 / 1 个工作队列(用户/专用)),部署命令如下:
$ kubectl apply -k deployments/iaa_plugin/overlays/iaa_initcontainer/
配置脚本和模板可根据需求进行自定义。
配置可以选择存储在 ProvisioningConfig ConfigMap 中,然后通过卷挂载传递给 initcontainer。通过将节点名通过 NODE_NAME 环境变量传递给 initcontainer,并通过 ConfigMap 卷挂载传递节点特定的配置文件,可以实现节点特定的配置。
创建自定义配置 ConfigMap:
$ kubectl create configmap --namespace=inteldeviceplugins-system intel-iaa-config --from-file=demo/iaa.conf
对于开发目的,有时需要在节点上手动部署插件。这种情况下,不需要构建完整的容器镜像,只需构建插件即可。
首先构建插件:
$ make iaa_plugin
直接在节点上运行插件:
$ sudo -E ./cmd/iaa_plugin/iaa_plugin device-plugin registered
通过搜索节点资源分配状态,可以验证插件是否已注册:
$ kubectl get nodes -o go-template='{{range .items}}{{.metadata.name}}{{"\n"}}{{range $k,$v:=.status.allocatable}}{{" "}}{{$k}}{{": "}}{{$v}}{{"\n"}}{{end}}{{end}}' | grep '^\([^ ]\)\|\( iaa\)' master iaa.intel.com/wq-user-dedicated: 2 iaa.intel.com/wq-user-shared: 10 node1 iaa.intel.com/wq-user-dedicated: 4 iaa.intel.com/wq-user-shared: 30
可以通过部署提供的 iaa-qpl-demo 测试镜像来测试插件是否正常工作。
构建包含 accel-config 测试的 Docker 镜像:
$ make iaa-qpl-demo ... Successfully tagged iaa-qpl-demo:devel
创建运行单元测试的 Pod:
$ kubectl apply -f ./demo/iaa-qpl-demo-pod.yaml pod/iaa-qpl-demo created
等待 Pod 完成:
$ kubectl get pods | grep iaa-qpl-demo iaa-qpl-demo 0/1 Completed 0 31m
如果 Pod 未能成功启动,可能是因为无法获取 IAA 资源,此时 Pod 将处于 Pending 状态:
$ kubectl get pods NAME READY STATUS RESTARTS AGE iaa-qpl-demo 0/1 Pending 0 7s
可以通过检查 Pod 的事件来确认:
$ kubectl describe pod iaa-qpl-demo | grep -A3 Events: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 2m26s default-scheduler 0/1 nodes are available: 1 Insufficient iaa.intel.com/wq-user-dedicated, 1 Insufficient iaa.intel.com/wq-user-shared.
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429