(可选)配置组件
如果用户在安装Ascend Device Plugin和NodeD时,已经配置了弹性训练相关功能,则可以跳过本章节;若没有配置,则需要在对组件MindCluster Ascend Device Plugin和MindCluster NodeD进行相关配置才能正常使用本特性。
配置Ascend Device Plugin
在重调度策略开启的情况下,Ascend Device Plugin的异常也会触发故障重调度。
- 修改Ascend Device Plugin组件的启动YAML,修改如下所示加粗部分。
... containers: - image: ascend-k8sdeviceplugin:v7.0.RC1 name: device-plugin-01 resources: requests: memory: 500Mi cpu: 500m limits: memory: 500Mi cpu: 500m command: [ "/bin/bash", "-c", "--"] args: [ "device-plugin -useAscendDocker=true -volcanoType=true # 重调度场景下必须使用Volcano。 -autoStowing=true # 是否开启自动纳管开关,默认为true;设置为false代表关闭自动纳管,当芯片健康状态由unhealthy变为healthy后,不会自动加入到可调度资源池中;关闭自动纳管,当芯片参数面网络故障恢复后,不会自动加入到可调度资源池中。该特性仅适用于Atlas 训练系列产品 -listWatchPeriod=5 # 健康状态检查周期,范围[3,60];默认5秒。 -logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0" ] securityContext: privileged: true readOnlyRootFilesystem: true ...
- 在K8s管理节点执行以下命令,启动Ascend Device Plugin。
kubectl apply -f device-plugin-xxx-v{version}.yaml
如在Atlas 训练系列产品启动该组件,示例如下。kubectl apply -f device-plugin-volcano-v7.0.RC1.yaml
配置NodeD
用户可以通过手动修改NodeD的启动YAML来配置节点状态上报间隔。
- 执行以下命令,编辑NodeD组件的启动YAML文件。
vi noded-v{version}.yaml
- 在YAML文件的“args”行修改“-reportInterval”参数,如下所示:
... env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName imagePullPolicy: Never command: [ "/bin/bash", "-c", "--"] args: [ "/home/hwMindX/noded -logFile=/var/log/mindx-dl/noded/noded.log -logLevel=0 -reportInterval=5" ] securityContext: readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: [ "ALL" ] runAsUser: 9000 runAsGroup: 9000 volumeMounts: - name: log-noded ...
父主题: 通过命令行使用(Volcano)