NodeD需要安装到所有的计算节点,因此在安装NodeD之前需要给所有计算节点打上标签workerselector=dls-worker-node,命令如下所示:
kubectl label node nodename workerselector=dls-worker-node --overwrite
其中“nodeName”表示K8s集群中节点的名称。
编辑NodeD组件的启动yaml文件,修改NodeD发送心跳的间隔时间(参数为-heartbeatInterval)。
vim noded-*.yaml
在“args”行增加“-heartbeatInterval”参数,如下所示:
K8s默认40秒未收到节点响应时将该节点置为NotReady,如未修改K8s的该配置,NodeD的“心跳发送间隔”使用默认值“5”即可,无需修改;如修改了K8s的该配置,则需要修改NodeD的“心跳发送间隔”的值,“心跳发送间隔”的值需要小于等于K8s中配置值的六分之一(向下取整)。
... env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName imagePullPolicy: Never command: [ "/bin/bash", "-c", "--"] args: [ "noded -logFile=/var/log/mindx-dl/noded/noded.log -logLevel=0 -heartbeatInterval=5" ] securityContext: readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: [ "ALL" ] runAsUser: 9000 runAsGroup: 9000 volumeMounts: - name: log-noded ...
MindX DL平台中NodeD组件会定期上报节点状态。通过配置“nodeDEnable=on/off”参数开关来控制是否获取节点的状态信息并用于判断节点故障(获取信息需先安装NodeD),“on”表示开启NodeD对本节点的信息获取,使用获取的信息判断节点是否故障,其他值或无该参数表示仅上报节点信息但不判断节点故障。
在master管理节点上执行命令如下:
kubectl label nodes nodeName nodeDEnable=on --overwrite
其中“nodeName”表示需要使用NodeD上报信息的节点。