(可选)配置节点硬件故障级别

在制作NodeD镜像时,会将故障级别配置文件NodeDConfiguration.json内置在镜像中,启动NodeD时会读取这两个文件的默认配置,作为当前故障处理依据。

如果用户想要自定义故障级别,可以在集群中创建ConfigMap文件(mindx-dl-node-fault-config)。

操作步骤

以故障码0100001D为例。将当前故障的处理策略NotHandleFault(无需处理)修改为PreSeparateFault(该节点上有任务则不处理,后续不调度任务到该节点)的操作示例如下。

  1. 登录环境,进入NodeD解压目录。
  2. 执行以下命令,创建动态配置故障级别所需ConfigMap文件(mindx-dl-node-fault-config)。

    kubectl create cm mindx-dl-node-fault-config -n mindx-dl  --from-file=./NodeDConfiguration.json
    回显示例如下:
    1
    configmap/mindx-dl-node-fault-config created
    
    表1 参数说明

    参数名称

    说明

    mindx-dl-node-fault-config

    创建的ConfigMap文件名称,不能修改该文件名称。

    mindx-dl

    命名空间名称,不能修改该命名空间。

    NodeDConfiguration.json

    用于配置故障码以及对应的故障级别,必须与NodeDConfiguration.json文件名称保持一致。

  3. 执行以下命令,编辑mindx-dl-fault-config文件。

    kubectl edit cm -n mindx-dl mindx-dl-node-fault-config

  4. 在mindx-dl-node-fault-config文件中,找到故障码0100001D。

     "FaultTypeCode": {
            "NotHandleFaultCodes":[
              "0100001D","03000009","03000013","0300000D","03000011"
            ],
    ...
      ],
    ...
    自定义故障级别时,若不小心导致出现以下问题,则本次修改无效,NodeD将会使用上一次保存的配置进行处理。
    • 文件格式异常或故障码取值错误,故障码只能为8位的包含数字和字母的字符串。
    • 同一故障码同时配置在多个故障级别中。

  5. 将故障码0100001D在NotHandleFaultCodes中删除,并添加到PreSeparateFaultCodes中。

     "FaultTypeCode": {
            "NotHandleFaultCodes":[
             "03000009","03000013","0300000D","03000011"
            ],
            "PreSeparateFaultCodes":[
              "28000037","00000011", "0100001D"
    ...
            ],
    ...

  6. 修改完成后,按“Esc”键,输入:wq!保存并退出。
  7. 等mindx-dl-node-fault-config文件更新后,查看操作是否成功。

    1. 执行以下命令,查询NodeD组件日志名称。
      kubectl get pods -A | grep noded
      回显示例如下:
      1
      mindx-dl      noded-c5f52   1/1     Running   0               2m16s
      
    2. 通过查询到的组件日志名称,查询NodeD的组件日志信息。
      kubectl logs noded-c5f52 -n mindx-dl -f

      若日志出现“update fault config success”,表示动态配置故障码操作成功。