Sign inSign up

ascendai/noded

By ascendai

•Updated 11 days ago

Image
0

1.2K

ascendai/noded repository overview

⁠Cluster Scheduling Component NodeD

⁠Quick Reference


⁠NodeD

NodeD is one of the MindCluster cluster scheduling components, deployed on compute nodes. It detects abnormal node states, retrieves CPU, memory, and disk fault information from IPMI, and reports it to ClusterD.

⁠Use Cases

When certain faults occur in a node's CPU, memory, or disk, training jobs will fail. To enable training jobs to exit quickly when node faults occur and prevent new jobs from being scheduled to faulty nodes, MindCluster provides the NodeD component for detecting node abnormalities.

⁠Features
  • Retrieves node abnormalities from IPMI and reports them to the upper-level resource scheduling service.
  • Periodically sends node fault information to the upper-level resource scheduling service.
⁠Upstream and Downstream Dependencies
  1. Retrieves CPU, memory, and disk fault information of compute nodes from IPMI.
  2. Reports CPU, memory, and disk fault information of compute nodes to ClusterD.

⁠Tag Convention

Starting from version v26.1.0, tags follow the format below:

<version>-<os>
FieldExampleDescription
versionv26.1.1Version Number of NodeD
osubuntu22.04Operating System for NodeD Images
⁠NodeD Latest Version 26.1.1

The following are all images of the latest released 26.1.1 version of NodeD. For all historical version Tags, please refer to Supported Tags⁠.

TagDockerfileImage Content
v26.1.1-ubuntu22.04Dockerfile.ubuntu⁠NodeD v26.1.1 (Base Image: Ubuntu 22.04)
v26.1.1-openeuler24.03Dockerfile.openeuler⁠NodeD v26.1.1 (Base Image: openEuler 24.03)

The tags of versions before v26.1.0 follow the format below:

<version>
FieldExampleDescription
versionv26.0.0Version Number of NodeD
⁠NodeD 26.0.0
TagDockerfileImage Content
v26.0.0Dockerfile⁠NodeD v26.0.0 (Base Image: Ubuntu 22.04)

⁠Quick Start

⁠Prerequisites
⁠Software Dependencies
SoftwareSupported VersionsInstallation LocationDescription
Kubernetes1.17.x~1.34.x (1.19.x or later recommended)All nodesSee Kubernetes Documentation⁠
ClusterDSame version as NodeDManagement nodesFault information reported by NodeD is aggregated and processed by ClusterD
UMDK software packageSee version compatibility tableCompute nodesNecessary for Atlas 850、Atlas 950 SuperPod Products
⁠Hardware Requirements
ResourceRequirement
CPU0.5 cores
Memory0.3 GB
⁠Obtain NodeD Image Online
  1. Pull the official image

    Pull the NodeD image from AscendHub, replacing {tag} with the actual version.

    docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/noded:{tag}
    
  2. Retag the image

    Retag the official image with a local tag for consistent naming and easier operations management.

    docker tag swr.cn-south-1.myhuaweicloud.com/ascendhub/noded:{tag} noded:{tag}
    
⁠Build Locally (Optional)
⁠Local Build Steps for v26.1.0 and Later Versions

Example: build an NodeD image of architecture linux-aarch64, version v26.1.1, based on Ubuntu 22.04.

  1. Obtain the target Dockerfile

    Navigate to the chapter Supported Tags and Dockerfile Links, open the Dockerfile.ubuntu link corresponding to your target version, and save the file to a local directory on your aarch64 environment.

  2. Build the Docker image locally (disable cache to ensure a clean build)

    docker build --no-cache -t noded:v26.1.1 ./ -f Dockerfile.ubuntu
    

Important Notes If your Docker version is earlier than 18.09 or BuildKit is not manually enabled, the TARGETPLATFORM variable cannot be read during image building, which will cause the image build to fail.

  1. TARGETPLATFORM is a built-in global variable of Docker BuildKit for identifying the target build platform, e.g. linux/amd64, linux/arm64.
  2. This variable is automatically injected only after BuildKit is enabled. It cannot be used in legacy Docker environments or environments where BuildKit is disabled by default.
  3. Run the following command before building to enable BuildKit temporarily:
export DOCKER_BUILDKIT=1
⁠Local Image Build Process for Versions Before v26.1.0

Example: Build an NodeD image of architecture linux-aarch64, version v26.0.0, based on Ubuntu 22.04.

  1. Download the officially released component package

    wget https://gitcode.com/Ascend/mind-cluster/releases/download/v26.0.0/Ascend-mindxdl-noded_26.0.0_linux-aarch64.zip
    
  2. Extract the package to a custom directory

    unzip Ascend-mindxdl-noded_26.0.0_linux-aarch64.zip -d Ascend-mindxdl-noded_26.0.0_linux-aarch64
    
  3. Enter the extracted working directory

    cd Ascend-mindxdl-noded_26.0.0_linux-aarch64
    
  4. Build the Docker image locally (disable cache to ensure a clean build)

    docker build --no-cache -t noded:v26.0.0 ./ -f Dockerfile
    
⁠Deploy NodeD
  1. Label Kubernetes nodes

    Add labels to the corresponding nodes for cluster scheduling matching. Replace <node-name> with the actual node name.

    kubectl label nodes <node-name> workerselector=dls-worker-node
    
  2. Start NodeD

    Before deployment, replace the image {tag} in the YAML file with the actual image version.

    kubectl apply -f noded-{version}.yaml
    
  3. Verify deployment

    kubectl get pods -A | grep noded
    

    Expected result: The noded related Pods in the corresponding namespace should be in Running state.


⁠License

View the license information⁠ for the Mind series software contained in these images.

As with all container images, pre-installed software packages (Python, system libraries, etc.) may be subject to their respective license agreements.

Tag summary

Content type

Image

Digest

sha256:5f4c9e687…

Size

54.1 MB

Last updated

11 days ago

docker pull ascendai/noded:v26.1.1-ubuntu22.04