昇腾社区首页
中文
注册

Ascend Device Plugin

应用场景

K8s需要感知资源信息来实现对资源信息的调度。除基础的CPU和内存信息以外,需通过K8s提供的设备插件机制,供用户自定义新的资源类型,从而定制个性化的资源发现和上报策略。MindCluster提供了部署在计算节点的Ascend Device Plugin服务,用于提供适合昇腾设备的资源发现和上报策略。

组件功能

  • 从驱动中获取芯片的类型及型号,并上报给kubelet和资源调度的上层服务ClusterD
  • 从驱动中订阅芯片故障信息,并将芯片状态上报给kubelet,同时将芯片状态和具体故障信息上报给资源调度的上层服务。
  • 从灵衢驱动中订阅灵衢网络故障信息,并将网络状态上报给kubelet,同时将灵衢网络状态和具体故障信息上报给资源调度的上层服务。
  • 可配置故障的处理级别,且可在故障反复发生,或者长时间连续存在的情况下提升故障处理级别。
  • 在资源挂载阶段,负责获取集群调度选中的芯片信息,并通过环境变量传递给Ascend Docker Runtime挂载。
  • 若故障芯片处于空闲状态,且重启后可恢复,对芯片执行热复位。

组件上下游依赖

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