Ascend Device Plugin
应用场景
K8s需要感知资源信息来实现对资源信息的调度。除基础的CPU和内存信息以外,需通过K8s提供的设备插件机制,供用户自定义新的资源类型,从而定制个性化的资源发现和上报策略。MindCluster提供了部署在计算节点的Ascend Device Plugin服务,用于提供适合昇腾设备的资源发现和上报策略。
组件功能
- 从驱动中获取芯片的类型及型号,并上报给kubelet和资源调度的上层服务ClusterD。
- 从驱动中订阅芯片故障信息,并将芯片状态上报给kubelet,同时将芯片状态和具体故障信息上报给资源调度的上层服务。
- 从灵衢驱动中订阅灵衢网络故障信息,并将网络状态上报给kubelet,同时将灵衢网络状态和具体故障信息上报给资源调度的上层服务。
- 可配置故障的处理级别,且可在故障反复发生,或者长时间连续存在的情况下提升故障处理级别。
- 在资源挂载阶段,负责获取集群调度选中的芯片信息,并通过环境变量传递给Ascend Docker Runtime挂载。
- 若故障芯片处于空闲状态,且重启后可恢复,对芯片执行热复位。
组件上下游依赖
图1 组件上下游依赖


- 从dcmi中获取芯片的类型、数量、健康状态信息,或者下发芯片复位命令。
- 上报芯片的类型、数量和状态给kubelet。
- 上报芯片的类型、数量和具体故障信息给ClusterD。
- 将调度器选中的芯片信息,以环境变量的方式告知给Ascend Docker Runtime。
- 向容器内部下发训练任务拉起、停止的命令。
父主题: 组件介绍