NodeD

操作步骤

  1. 以root用户登录各计算节点,并执行以下命令查看镜像和版本号是否正确。

    docker images | grep noded

    回显示例如下:

    1
    noded                               v7.0.RC1              ef801847acd2        29 minutes ago      133MB
    

  2. NodeD软件包解压目录下的YAML文件,拷贝到K8s管理节点上任意目录。
  3. 如不修改组件启动参数,可跳过本步骤。否则,请根据实际情况修改YAML文件中NodeD的启动参数。启动参数请参见表1,可执行./noded -h查看参数说明。
  4. (可选)使用断点续训或者弹性训练时,需要配置节点状态上报间隔。在NodeD启动YAML文件的“args”行增加“-reportInterval”参数,如下所示:

    ...
              env:
                - name: NODE_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: spec.nodeName
              imagePullPolicy: Never
              command: [ "/bin/bash", "-c", "--"]
              args: [ "/usr/local/bin/noded -logFile=/var/log/mindx-dl/noded/noded.log -logLevel=0 -reportInterval=5" ]
              securityContext:
                readOnlyRootFilesystem: true
                allowPrivilegeEscalation: true
              volumeMounts:
                - name: log-noded
    ...
    • K8s默认40秒未收到节点响应时将该节点置为NotReady,如未修改K8s的该配置,NodeD的“节点状态上报的间隔时间”使用默认值“5”即可,无需修改。
    • 当K8s APIServer请求压力变大时,可根据实际情况增大间隔时间,以减轻APIServer压力。

  5. 在管理节点的YAML所在路径,执行以下命令,启动NodeD

    kubectl apply -f noded-v{version}.yaml

    启动示例如下:

    serviceaccount/noded created
    clusterrole.rbac.authorization.k8s.io/pods-noded-role created
    clusterrolebinding.rbac.authorization.k8s.io/pods-noded-rolebinding created
    daemonset.apps/noded created

  6. 执行以下命令,查看组件是否启动成功。

    kubectl get pod -n mindx-dl

    回显示例如下,出现Running表示组件启动成功。

    1
    2
    3
    4
    NAME                              READY   STATUS    RESTARTS   AGE
    ...
    noded-fd6t8                  1/1    Running  0        74s
    ...
    

参数说明

表1 NodeD启动参数

参数

类型

默认值

说明

-reportInterval

int

5

  • 上报节点状态的最小间隔,如果节点状态有变化,那么在5s内就会上报,如果说节点状态持续没有变化,那么上报周期为30分钟。
  • 取值范围为1~300,单位为秒。
  • 如需查看report interval的值,可进入NodeD组件日志进行查看。
  • 当K8s APIServer请求压力变大时,可根据实际情况增大间隔时间,以减轻APIServer压力。

-monitorPeriod

int

60

节点硬件故障的轮询检测周期,取值范围为60~600,单位为秒。

-version

bool

false

是否查询当前NodeD的版本号。

  • true:查询。
  • false:不查询。

-logLevel

int

0

日志级别:

  • 取值为-1:debug
  • 取值为0:info
  • 取值为1:warning
  • 取值为2:error
  • 取值为3:critical

-maxAge

int

7

日志备份时间,取值范围为7~700,单位为天。

-resultMaxAge

int

7

pingmesh结果备份文件保留的天数。取值范围为【7-300】,单位为天。

说明:

该参数仅支持在Atlas 900 A3 SuperPoD 超节点Atlas 9000 A3 SuperPoD 集群算力系统上使用。且所使用的驱动版本需≥24.1.RC1。

-logFile

string

/var/log/mindx-dl/noded/noded.log

日志文件。

说明:

单个日志文件超过20 MB时会触发自动转储功能,文件大小上限不支持修改。转储后文件的命名格式为:noded-触发转储的时间.log,如:noded-2023-10-07T03-38-24.402.log。

-maxBackups

int

30

转储后日志文件保留个数上限,取值范围为1~30,单位为个。

-h或者-help

显示帮助信息。