集群调度组件 NodeD
English | 中文
快速参考
- NodeD 由 MindCluster 代码仓 维护
- 从哪里获取帮助
NodeD
NodeD 是 MindCluster 集群调度组件之一,部署在计算节点上,用于检测节点的异常状态,从 IPMI 获取计算节点的 CPU、内存、硬盘的故障信息,并上报给 ClusterD。
应用场景
节点的 CPU、内存或硬盘发生某些故障后,训练任务会失败。为了让训练任务在节点故障情况下快速退出,并且后续的新任务不再调度到故障节点上,MindCluster 提供了 NodeD 组件,用于检测节点的异常。
组件功能
- 从 IPMI 中获取节点异常,并上报给资源调度的上层服务。
- 定时发送节点故障信息给资源调度的上层服务。
组件上下游依赖
- 从 IPMI 中获取计算节点的 CPU、内存、硬盘的故障信息。
- 将计算节点的 CPU、内存、硬盘的故障信息上报给 ClusterD。
支持的 Tags 及 Dockerfile 链接
Tag 规范
Tag 遵循以下格式:
<版本>
| 字段 | 示例值 | 说明 |
|---|---|---|
版本 |
v26.1.0 |
NodeD组件版本 |
操作系统 |
ubuntu22.04 |
NodeD镜像操作系统 |
NodeD 26.1.0
| Tag | Dockerfile | 镜像内容 |
|---|---|---|
v26.1.0-ubuntu22.04 |
Dockerfile.ubuntu | NodeD组件v26.1.0版本操作系统为ubuntu22.04的镜像 |
v26.1.0-openeuler24.03 |
Dockerfile.openeuler | NodeD组件v26.1.0版本操作系统为openeuler24.03的镜像 |
快速开始
前置要求
软件依赖
| 软件名称 | 支持的版本 | 安装位置 | 说明 |
|---|---|---|---|
| Kubernetes | 1.17.x~1.34.x(推荐使用1.19.x及以上版本) | 所有节点 | 了解 K8s 的使用请参见 Kubernetes 文档 |
| ClusterD | 与 NodeD 同版本 | 管理节点 | NodeD 上报的故障信息由 ClusterD 汇总处理 |
硬件规格要求
| 名称 | 要求 |
|---|---|
| CPU | 0.5核 |
| 内存 | 0.3GB |
如何本地构建
docker build --no-cache -t noded:{tag} ./ -f Dockerfile.{os}
注意:
- TARGETPLATFORM 是 Docker BuildKit 提供的全局内置参数,用于获取当前构建的目标平台(如 linux/amd64、linux/arm64)。
- 只有启用 BuildKit,才会自动注入这个变量。旧版 Docker / 默认关闭 BuildKit 的环境,构建时不存在这个变量,需要在运行构建指令前通过 export DOCKER_BUILDKIT=1 临时启用。
部署 NodeD
- 拉取镜像
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/noded:{tag}
- 修改镜像标签
docker tag swr.cn-south-1.myhuaweicloud.com/ascendhub/noded:{tag} noded:{tag}
- 启动 NodeD
将 noded-{version}.yaml 文件中镜像的 {tag} 替换为实际标签。
kubectl apply -f noded-{version}.yaml
- 验证部署
kubectl get pods -A | grep noded
支持的硬件
当前支持的昇腾硬件型号说明,请参考官方文档: 支持的产品形态和OS清单
许可证
查看这些镜像中包含的 Mind 系列软件的许可证信息。
与所有容器镜像一样,预装软件包(Python、系统库等)可能受其自身许可证约束。