开发者
资源

Kubernetes标识增加说明

表1 集群调度对node label使用说明

node label名称

作用

取值

使用组件

accelerator

标识节点的处理芯片

huawei-Ascend910、huawei-Ascend310、huawei-Ascend310P

MindCluster Ascend Device Plugin

host-arch

标识节点的CPU架构

huawei-x86;huawei-arm

MindCluster Volcano

masterselector

标识MindX DL的管理节点

dls-master-node

MindCluster VolcanoMindCluster HCCL ControllerMindCluster Ascend OperatorMindCluster Resilience ControllerMindCluster ClusterD

node.kubernetes.io/npu.chip.name

上报当前芯片的具体类型

  • 310
  • 310P1
  • 310P2
  • 310P3
  • 310P4
  • {xxx}A
  • 910PremiumA
  • 910ProA
  • 910ProB
  • {xxx}Bx(x可取值为1、2、3、4)

MindCluster Ascend Device Plugin

说明:

芯片型号的数值可通过npu-smi info命令查询,返回的“Name”字段对应信息为芯片型号,下文的{xxx}即取“910”字符作为芯片型号数值。

nodeDEnable

节点noded启动的开关

on

MindCluster VolcanoMindCluster Resilience Controller

workerselector

标识MindX DL的计算节点

dls-worker-node

MindCluster Ascend Device PluginMindCluster NodeDMindCluster NPU Exporter

accelerator-type

标识Atlas服务器类型

  • card
  • module
  • half
  • module-{xxx}b-8
  • module-{xxx}b-16
  • card-{xxx}b-2
  • card-{xxx}b-infer

MindCluster Ascend Device PluginMindCluster Volcano

servertype

Atlas 200I SoC A1 核心板标识

  • soc
  • Ascend910-{aicore核数}
  • Ascend310P-{aicore核数}

MindCluster VolcanoMindCluster Ascend Device Plugin

huawei.com/Ascend910-Recover

Atlas 训练系列产品故障恢复标识

故障芯片ID

MindCluster Ascend Device Plugin

huawei.com/Ascend910-NetworkUnhealthyRecover

Atlas 训练系列产品网络故障恢复标识

故障芯片ID

MindCluster Ascend Device Plugin

表2 集群调度组件Pod label使用说明

名称

作用

取值

使用组件

ring-controller.atlas

标识atlas的Pod

  • ascend-910
  • ascend-{xxx}b

MindCluster Ascend Device PluginMindCluster HCCL Controller

volcano.sh/job-name

标记Pod对应vcjob名称

字符串

MindCluster Volcano

volcano.sh/job-namespace

标记Pod对应vcjob名称空间

字符串

MindCluster Volcano

volcano.sh/queue-name

标记Pod对应queue名称

字符串

MindCluster Volcano

volcano.sh/task-spec

标记Pod对应task名称

字符串

MindCluster Volcano

isSharedTor

标记Pod对应的交换机属性

整数

MindCluster Volcano

isHealthy

标记Pod对应的交换机状态

整数

MindCluster Volcano

deploy-name

标记Pod对应的deployment名称

字符串

MindCluster HCCL Controller

group-name

标记Pod对应的acjob的group名称

mindxdl.gitee.com

MindCluster VolcanoMindCluster Ascend Operator

job-name

标记Pod对应的acjob名称

字符串

MindCluster Ascend Operator

replica-index

标记Pod序号(后续将删除)

[0-{pod数量-1}]

MindCluster Ascend Operator

replica-type

标记Pod类型(后续将删除)

  • master
  • chief
  • scheduler
  • worker

MindCluster Ascend Operator

training.kubeflow.org/job-name

标记Pod对应的acjob名称

字符串

MindCluster Ascend Operator

training.kubeflow.org/job-role

标记Pod类型

master

MindCluster Ascend Operator

training.kubeflow.org/operator-name

标记创建Pod的operator名称

ascendjob-controller

MindCluster Ascend Operator

training.kubeflow.org/replica-index

标记Pod序号

[0-{pod数量-1}]

MindCluster Ascend Operator

training.kubeflow.org/replica-type

标记Pod类型

  • master
  • chief
  • scheduler
  • worker

MindCluster Ascend Operator

表3 集群调度组件对vcjob label使用说明

名称

作用

取值

使用组件

ring-controller.atlas

标识atlas的Pod

  • ascend-910
  • ascend-{xxx}b

MindCluster Ascend Device PluginMindCluster HCCL Controller,、MindCluster Volcano

fault-scheduling

任务故障重调度开关

grace、force、off

MindCluster VolcanoMindCluster Resilience Controller

elastic-scheduling

任务弹性调度开关

on

MindCluster Resilience ControllerMindCluster Volcano

fault-retry-times

任务发生业务面故障可以重调度的次数

[0-100]

MindCluster VolcanoMindCluster Ascend Operator

npu-310-strategy

标记推理服务器(插Atlas 300I 推理卡)调度策略

  • card
  • chip

MindCluster Volcano

表4 集群调度组件对acjob label使用说明

名称

作用

取值

使用组件

ring-controller.atlas

标识atlas的Pod

  • ascend-910
  • ascend-{xxx}b

MindCluster Ascend Device PluginMindCluster HCCL ControllerMindCluster Volcano

fault-scheduling

任务故障重调度开关

grace、force、off

MindCluster VolcanoMindCluster Resilience Controller

fault-retry-times

任务发生业务面故障可以重调度的次数

[0-100]

MindCluster VolcanoMindCluster Ascend Operator

tor-affinity

交换机亲和性策略

  • normal-schema
  • large-model-schema
  • null

MindCluster Volcano

表5 集群调度组件对podGroup label使用说明

名称

作用

取值

使用组件

ring-controller.atlas

标识atlas的Pod

  • ascend-910
  • ascend-{xxx}b

MindCluster Ascend Device PluginMindCluster HCCL ControllerMindCluster Volcano

fault-scheduling

任务故障重调度开关

grace、force、off

MindCluster VolcanoMindCluster Resilience Controller

elastic-scheduling

任务弹性调度开关

on

MindCluster Resilience ControllerMindCluster Volcano

fault-retry-times

任务发生业务面故障可以重调度的次数

0-100

MindCluster VolcanoMindCluster Ascend Operator

tor-affinity

交换机亲和性策略

  • normal-schema
  • large-model-schema
  • null

MindCluster Volcano

npu-310-strategy

标记推理服务器(插Atlas 300I 推理卡)调度策略

  • card
  • chip

MindCluster Volcano

表6 集群调度组件Pod annotation使用说明

名称

作用

取值

使用组件

ascend.kubectl.kubernetes.io/ascend-910-configuration

MindCluster HCCL Controller生成hccl.json的数据来源

字符串map

MindCluster Ascend Device PluginMindCluster HCCL Controller

super_pod_id

MindCluster HCCL ControllerMindCluster Ascend Operator提供超节点ID信息

数字

MindCluster HCCL ControllerMindCluster Ascend Operator

hccl/rankIndex

断点续训中保持原rankId的依据

[0,1000]

MindCluster VolcanoMindCluster HCCL ControllerMindCluster Ascend Operator

distributed-job

标记训练任务类型

  • true:当前任务为分布式任务
  • false:当前任务为单机任务

MindCluster Volcano

huawei.com/Ascend910

MindCluster Ascend Device PluginPod分配芯片的依据。

字符串

MindCluster VolcanoMindCluster Ascend Device Plugin

huawei.com/AscendReal

MindCluster Ascend Device PluginPod实际分配芯片的记录。

字符串

MindCluster VolcanoMindCluster Ascend Device Plugin

huawei.com/kltDev

kubeletPod分配芯片的记录。

字符串

MindCluster Ascend Device Plugin

predicate-time

MindCluster Ascend Device PluginPod分配芯片的顺序依据。

字符串

MindCluster VolcanoMindCluster Ascend Device Plugin

scheduling.k8s.io/group-name

标记Pod对应podGroup名称

字符串

MindCluster Volcano

volcano.sh/job-name

标记Pod对应的vcjob名称

字符串

MindCluster Volcano

volcano.sh/job-version

标记Pod对应的vcjob版本

字符串

MindCluster Volcano

volcano.sh/queue-name

标记Pod对应的queue版本

字符串

MindCluster Volcano

volcano.sh/task-spec

标记Pod对应task名称

字符串

MindCluster Volcano

volcano.sh/template-uid

标记Pod对应pod-template名称

字符串

MindCluster Volcano

表7 集群调度组件ConfigMap使用说明

名称

命名空间

作用

使用组件

vcjob-fault-npu-cm

volcano-system

固化故障重调度内容

MindCluster Volcano

volcano-scheduler-configmap

volcano-system

volcano-scheduler的配置文件(原生)

MindCluster Volcano

mindx-dl-deviceinfo-节点名称

kube-system

MindCluster Ascend Device Plugin上报的节点的芯片信息

MindCluster VolcanoMindCluster Ascend Device Plugin

fault-config-任务名称

任务命名空间

断点续训需要的故障rankID信息

MindCluster VolcanoMindCluster Elastic AgentMindCluster ClusterD

mindx-dl-nodeinfo-节点名称

mindx-dl

NodeD上报的node节点信息

MindCluster VolcanoMindCluster NodeDMindCluster ClusterD

cluster-info-资源类型-编号

mindx-dl

ClusterD上报的整个集群的节点及芯片信息

MindCluster VolcanoMindCluster ClusterD

rings-config-任务名称

任务命名空间

hccl.json内容

MindCluster HCCL Controller

env-config-任务名称

任务命名空间

记录master、scheduler、chief对应Pod的Pod IP

MindCluster Ascend Operator

basic-tor-node-cm

kube-system

记录节点参数面网络交换机信息

MindCluster Volcano

reset-config-任务名称

任务命名空间

记录故障芯片信息及错误码

MindCluster Ascend Device Plugin

表8 vcjob-fault-npu-cm字段说明

名称

作用

取值

备注

fault-job

当前集群中包含的带fault-scheduling label的任务

-

-

- RescheduleKey

对应任务fault-scheduling label

  • off
  • grace
  • force

-

- IsFaultJob

任务是否发生故障

  • True
  • False

-

- IsInSession

任务是否存在于集群中

  • True
  • False

-

- JobName

任务名称

字符串

-

- JobUID

任务在集群中的唯一标识符

字符串

-

- JobNamespace

任务名称空间

字符串

-

- JobRankIds

任务使用的故障芯片的rank信息

字符串切片

-

- NodeNames

任务pod所在的所有节点

字符串切片

-

- UpdateTime

任务信息更新时间

64位整数类型

-

- JobRankIdCreateTime

任务的rank信息创建时间

64位整数类型

-

- FaultTypes

任务故障类型集合

字符串切片

-

- DeleteExecutedFlag

任务是否被删除成功标准

  • True
  • False

-

- ElasticScheduling

对应任务elastic-scheduling label

字符串

-

- ReferenceName

任务不带UID的名称

字符串

-

- FaultRetryTimes

-

整数类型

-

- UUID

-

字符串

-

FaultTask

故障task信息

-

-

- IsFaultTask

task是否发生故障

  • True
  • False

-

- TaskUID

task的UID

字符串

-

- TaskName

task的名称

字符串

-

- TaskNamespace

task的命名空间

字符串

-

- NodeName

task使用的节点名称

字符串

-

- JobName

task所在的任务名称

字符串

-

- NodeRankIndex

-

字符串

-

- UseCardName

task使用的芯片名称

字符串切片

-

- PodCreateTime

task创建pod的时间

64位整数类型

-

- PodUID

task创建pod的UID

字符串

-

fault-node

故障节点信息

-

-

- NodeName

节点名称

字符串

-

- UpdateTime

-

64位整数类型

-

- UnhealthyNPU

故障节点上芯片故障的芯片集合

字符串切片

-

- NetworkUnhealthyNPU

故障节点上网络故障的芯片集合

字符串切片

-

- IsFaultNode

节点是否发生故障

  • True
  • False

-

- NodeDEnable

节点心跳检测开关是否打开

  • True
  • False

-

- NodeHealthState

节点健康状态

字符串

-

- AllCards

节点上的芯片集合

字符串切片

-

- HeartbeatInterval

节点心跳上报间隔时间

整数类型

-

- OldHeartbeatTime

-

64位整数类型

-

- NewHeartbeatTime

-

64位整数类型

-

- UpdateHeartbeatTime

-

64位整数类型

-

FaultCards

故障芯片信息

-

-

- IsFaultCard

芯片是否发生故障

  • True
  • False

-

- NPUName

芯片名称

字符串

-

- NodeName

芯片所在节点名称

字符串

-

- FaultType

芯片故障类型

字符串

-

node-rankIndex-Occurrence

故障任务使用的节点的rank信息

-

-

- NodeName

节点名称

字符串

-

- RankIndex

节点rank序号

字符串

-

- IsFault

节点是否发生故障

  • True
  • False

-

- Occurrence

节点的rank是否分配给新的节点

整数类型

-

node-heartbeat

节点心跳信息

-

-

- NodeName

节点名称

字符串

-

- HeartbeatTime

节点心跳时间

64位整数类型

-

- UpdateTime

节点心跳更新时间

64位整数类型

-

Reason

-

-

-

- node_name

节点名称

字符串

-

FaultDeviceList

-

-

-

- fault_type

故障类型对象

  • CardUnhealthy:芯片故障
  • CardNetworkUnhealthy:芯片网络故障
  • NodeUnhealthy:节点故障

-

- npu_name

故障的芯片名称,节点故障时为空

字符串

-

- fault_level

故障处理类型,节点故障时取值为空

  • NotHandleFault:不做处理
  • RestartRequest:推理场景需要重新执行推理请求,训练场景重新执行训练业务
  • RestartBusiness:需要重新执行业务
  • FreeRestartNPU:直接复位芯片并重新执行业务
  • RestartNPU:直接复位芯片并重新执行业务
  • SeparateNPU:隔离芯片
  • PreSeparateNPU:预隔离芯片,会根据训练任务实际运行情况判断是否重调度
说明:

fault_level、fault_handling和large_model_fault_level参数功能一致,推荐使用fault_handling。

- fault_handling

- large_model_fault_level

- fault_code

故障码,由英文逗号拼接而成的字符串

字符串

  • Disconnected:芯片网络不连通故障。
  • heartbeatTimeOut:节点心跳丢失故障

remain-retry-times

任务剩余可重调度信息

-

-

- UUID

任务UID

字符串

-

- Times

任务剩余可重调度次数

整数类型

-

表9 volcano-scheduler-configmap字段说明

名称

作用

取值

备注

actions

调度流程使用的动作

字符串

ascend-volcano-plugin使用了enqueue、allocate、backfill三个调度动作

plugins

调度流程使用的插件集合

-

-

- name

使用的插件名称

字符串

ascend-volcano-plugin使用了

priority、gang、conformance、volcano-npu_{version}_linux-{arch}、drf、predicates、proportion、nodeorder、binpack几种调度插件

configurations

调度器初始化的配置信息

-

-

- name

配置信息名称

init-params

-

- arguments

配置信息内容

键值对集合

-

表10 mindx-dl-deviceinfo-节点名称 字段说明

名称

作用

取值

备注

huawei.com/Ascend910

当前节点可用的芯片名称信息,存在多个时用英文逗号拼接

字符串

-

huawei.com/Ascend910-NetworkUnhealthy

当前节点网络不健康的芯片名称信息,存在多个时用英文逗号拼接

字符串

-

huawei.com/Ascend910-Unhealthy

当前芯片不健康的芯片名称信息,存在多个时用英文逗号拼接

字符串

-

huawei.com/Ascend910-Fault

记录芯片具体的故障信息

-

数组对象,对象包含fault_type、npu_name、large_model_fault_level、fault_level、fault_handling和fault_code等6个字段。

- fault_type

故障类型

  • CardUnhealthy:芯片故障
  • CardNetworkUnhealthy:芯片网络故障
  • NodeUnhealthy:节点故障

-

- npu_name

故障的芯片名称,节点故障时为空

字符串

-

- large_model_fault_level

故障处理类型,节点故障时取值为空

  • NotHandleFault:不做处理
  • RestartRequest:推理场景需要重新执行推理请求,训练场景重新执行训练业务
  • RestartBusiness:需要重新执行业务
  • FreeRestartNPU:直接复位芯片并重新执行业务
  • RestartNPU:直接复位芯片并重新执行业务
  • SeparateNPU:隔离芯片
  • PreSeparateNPU:预隔离芯片,会根据训练任务实际运行情况判断是否重调度
说明:

large_model_fault_level、fault_level和fault_handling参数功能一致,推荐使用fault_handling。

- fault_level

- fault_handling

- fault_code

故障码,英文逗号拼接的字符串

字符串

Disconnected表示芯片网络不连通故障。heartbeatTimeOut表示节点心跳丢失故障

表11 fault-config-任务名称 字段说明

名称

作用

取值

备注

fault-npus

故障任务使用的故障芯片的rank信息

字符串

-

表12 rings-config-任务名称 字段说明

名称

作用

取值

备注

version

ranktable使用的格式版本

1.0

-

server_count

任务使用的节点数量

整数类型

-

server_list

任务使用的节点信息

-

-

- server_id

任务使用的节点的IP地址

字符串

-

device

任务使用的芯片信息

-

-

- device_id

任务使用的芯片的物理ID

字符串

-

- device_ip

任务使用的芯片的ip地址

字符串

-

- rank_id

任务使用的芯片的rank号

字符串

-

表13 env-config-任务名称 字段说明

名称

作用

取值

备注

master-addr

训练任务的master、scheduler的pod ip

字符串

-

表14 basic-tor-node-cm 字段说明

名称

作用

取值

备注

version

basic-tor-node-cm的版本

1.0

-

tor_count

集群中交换机下的节点数

整数类型

-

server_list

集群节点按交换机为单位划分的集合

-

-

- tor_id

交换机的序号

整数类型

-

- tor_ip

交换机的IP地址

字符串

-

server

交换机下的节点信息

-

-

- server_ip

节点的IP地址

字符串

-

- npu_count

节点上NPU芯片的数量

整数类型

-

- slice_id

节点在交换机下的编号

整数类型

-

表15 reset-config-任务名称 字段说明

名称

作用

取值

备注

RankList

芯片列表

-

-

RankId

故障任务使用的rank信息

整数类型

-

LogicId

芯片逻辑ID

32位整数类型

-

Status

芯片状态

字符串

-

Policy

热复位策略

字符串

-

InitialPolicy

初始热复位策略

字符串

-

ErrorCode

10进制故障码

64位整型数组

-

ErrorCodeHex

16进制故障码

字符串

-

表16 reset-config-任务名称

名称

作用

取值

备注

fault-npus

故障任务使用的故障芯片的rank信息

字符串

-

表17 nslb2-任务名称

名称

作用

取值

备注

hccl.json

任务使用的芯片通信信息

字符串

-

JobId

任务的k8s ID信息

字符串

-

operator

任务对应的状态

字符串

-

deleteTime

任务被删除的时间

字符串

-

sharedTorIp

任务使用的共享交换机信息

字符串

-

MASTER_ADDR

masterAddr pytorch训练时指定的MASTER_ADDR值

字符串

-

表18 tor-share-cm

名称

作用

取值

备注

IsHealthy

节点对应的交换机状态

字符串

-

IsSharedTor

节点对应的交换机属性

字符串

-

NodeIp

任节点ip

字符串

-

NodeName

节点名称

字符串

-

JobName

任务名称

字符串

-

K8s的ServiceAccount

表19 组件在k8s中创建的ServiceAccount列表

账号名

说明

hccl-controller

用yaml启动服务,将会在k8s中创建该用户,如:hccl-controller-v6.0.RC2.yaml。

volcano-controllers

开源volcano的controller组件在k8s中创建的用户。

volcano-scheduler

开源volcano的scheduler组件在k8s中创建的用户。

ascend-device-plugin-sa-910

用yaml启动服务,将会在k8s中创建该用户,不同型号的设备使用的账号名不同。

ascend-device-plugin-sa-310p

ascend-device-plugin-sa-310

ascend-operator-manager

用yaml启动服务,将会在k8s中创建该用户,如:ascend-operator-v6.0.RC2.yaml。

resilience-controller

建议安全加固启动,使用带without-token的yaml启动服务,在k8s中创建并使用resilience-controller账号,同时为该账号授予适当权限。

noded

用yaml启动服务,将会在k8s中创建该用户,如:noded-v6.0.RC2.yaml。

clusterd

用yaml启动服务,将会在k8s中创建该用户,如:clusterd-v6.0.RC2.yaml。

default

MindX DL组件或开源volcano部署时会在K8s中自动创建的用户。