NodeD

NodeD收集了节点硬件故障信息,将其作为对外的信息放在K8sConfigMap中,以供外部查询和使用。

查询命令为kubectl describe cm mindx-dl-nodeinfo-<nodename> -n mindx-dl,命令回显示例如下,关键参数说明请参见表1
Name:         mindx-dl-nodeinfo-<nodename>
Namespace:    mindx-dl
Labels:       <none>
Annotations:  <none>

Data
====
NodeInfo:
----
{"NodeInfo":{"FaultDevList":[{"DeviceType":"CPU","DeviceId":1,"FaultCode":["00000011"],"FaultLevel":"SeparateFault"}],"NodeStatus":"UnHealthy"},"CheckCode":"3a2934c3cb875f2256c770c75a6fdf24594fcf64481ac6cd0d0f74b8fea88855"}
Events:  <none>
表1 回显参数说明

参数名

描述

NodeInfo

节点维度的故障信息。

FaultDeviList

节点故障设备列表。

- DeviceType

故障设备类型。

- DeviceId

故障设备ID。

- FaultCode

故障码,由英文和数组拼接而成的字符串,字符串表示故障码的十六进制。

- FaultLevel

故障处理等级。

  • NotHandleFault:无需处理。
  • PreSeparateFault:该节点上有任务则不处理,后续调度时不调度任务到该节点。
  • SeparateFault:任务重调度。

NodeStatus

节点健康状态,由本节点故障处理等级最严重的设备决定。

  • Healthy:该节点故障处理等级存在且不超过NotHandleFault,该节点为健康节点,可以正常训练。
  • PreSeparate:该节点故障处理等级存在且不超过PreSeparateFault,该节点为预隔离节点,暂时可能对任务无影响,待任务受到影响退出后,后续不会再调度任务到该节点。
  • UnHealthy:该节点故障处理等级存在SeparateFault,该节点为故障节点,将影响训练任务,立即将任务调离该节点。