Creating a Node Tag

In a Kubernetes cluster, if a node containing Ascend AI processors is used as the Kubernetes management node, the node serves as both the management node and compute node. In addition to the tag corresponding to the management node, you need to add the tag related to the compute node based on the Ascend AI processor type. In the production environment, the management node is usually a general-purpose server and does not contain Ascend AI processors.

Procedure

  1. Run the following command to query the node name:
    kubectl get node
    Command output:
    1
    2
    NAME       STATUS   ROLES           AGE   VERSION
    ubuntu     Ready    worker          23h   v1.17.3
    
  2. Label the corresponding node based on Table 1 so that cluster scheduling components can schedule worker nodes of different forms. A command example is as follows:
    kubectl label nodes host name tag
    For example, if the host name is ubuntu and the tag is masterselector=dls-master-node, run the following command:
    kubectl label nodes ubuntu masterselector=dls-master-node
    If the following information is displayed, the operation is successful:
    1
    node/ubuntu labeled
    
    • For details about node tags in Table 1, see Native Kubernetes Objects.
    • Configure all the listed tags based on the node type and product type by referring to Table 1.
    • You can run the npu-smi info command to query the number in the processor model name, which is indicated by the Name field in the returned message. As the example below, the value of {xxx} is 910.
    Table 1 Mapping between nodes and tags

    Node Type

    Product Type

    Tag

    Management node

    -

    masterselector=dls-master-node

    Compute node

    Atlas 800 training server (fully populated with NPUs)

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=module
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 800 training server (half populated with NPUs)

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=half
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 800T A2 training server or Atlas 900 A2 PoD cluster basic unit

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm
    • accelerator=huawei-Ascend910
    • accelerator-type=module-{xxx}b-8
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 900 A3 SuperPoD

    Atlas 800T A3 SuperPoD Server

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=module-a3-16-super-pod
    • (Optional) nodeDEnable=on

    Compute node

    A200T A3 Box8 SuperPoD Server

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-x86 or host-arch=huawei-arm
    • accelerator=huawei-Ascend910
    • accelerator-type=module-a3-16
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 800I A3 SuperPoD Server

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-x86 or host-arch=huawei-arm
    • accelerator=huawei-Ascend910
    • accelerator-type=module-a3-16
    • server-usage=infer
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 800I A2 inference server

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm
    • accelerator=huawei-Ascend910
    • accelerator-type=module-{xxx}b-8
    • server-usage=infer
    • (Optional) nodeDEnable=on

    Compute node

    A200I A2 Box heterogeneous component

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=module-{xxx}b-8
    • server-usage=infer
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 200T A2 Box16 heterogeneous subrack

    Atlas 200I A2 Box16 heterogeneous subrack

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=module-{xxx}b-16
    • (Optional) nodeDEnable=on

    Compute node

    Training server (equipped with Atlas 300T training cards)

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend910
    • accelerator-type=card
    • (Optional) nodeDEnable=on

    Compute node

    Inference server (equipped with Atlas 300I inference cards)

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend310
    • (Optional) nodeDEnable=on

    Compute node

    Atlas inference product (except Atlas 200I SoC A1 core board)

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend310P
    • (Optional) nodeDEnable=on

    Compute node

    Atlas 200I SoC A1 core board

    • node-role.kubernetes.io/worker=worker
    • workerselector=dls-worker-node
    • host-arch=huawei-arm or host-arch=huawei-x86
    • accelerator=huawei-Ascend310P
    • servertype=soc
    • (Optional) nodeDEnable=on