Fault Type | Description |
GPUDeviceLost | The GPU device is lost and cannot be recognized by the system. |
GPUDoubleBitEccError | GPU double-bit ECC error, an uncorrectable memory error |
GPUHighSingleBitEccError | GPU single-bit ECC error exceeds the threshold. |
GPUInfoROMCorrupted | GPU InfoROM corruption |
GPUNvlinkError | NVLink communication error |
GPUPCIeError | PCIe interface abnormality |
GPUPendingRetiredPages | GPU Pending Retired Pages |
GPUPowerError | GPU power issue |
GPURemappingRowsError | GPU memory row remapping error |
GPUTempError | GPU temperature is too high |
GPUXIDFatalError | GPU fatal XID error |
GPUXIDWarningError | GPU warning XID error |
Fault Type | Description |
HygonGPUDeviceLost | The GPU device is lost, and driver or PCIe issues cause the device to be unrecognizable. |
HygonGPUDriverError | The GPU driver is abnormal and can be restored after a restart. |
HygonGPUTempError | GPU temperature is too high, and heat dissipation needs to be checked. |
HygonGPUEccError | GPU memory ECC error, which may indicate hardware damage. |
HygonGPUPowerError | GPU power is abnormal, and the power supply needs to be checked. |
Self-Healing Policy | Execution Steps | Applicable Fault Types |
Complete Self-Healing Process | Isolate → Drain → Restart → Unseal | GPUDeviceLost,GPUNvlinkError,GPUPCIeError,GPUPendingRetiredPages,GPUXIDWarningError |
Isolation and Drainage Only | Isolate → Drain | GPUDoubleBitEccError,GPUHighSingleBitEccError,GPUInfoROMCorrupted,GPUPowerError,GPURemappingRowsError,GPUTempError,GPUXIDFatalError |
Self-Healing Policy | Execution Steps | Applicable Fault Types |
Complete Self-Healing Process | Isolate → Drain → Restart → Unseal | HygonGPUDeviceLost,HygonGPUDriverError |
Isolation and Drainage Only | Isolate → Drain | HygonGPUTempError,HygonGPUEccError,HygonGPUPowerError |
gpu-node-healer.yaml.apiVersion: node.healing.tke.cloud.tencent.com/v1kind: NodeHealermetadata:name: gpu-cluster-healerspec:nodeSelector:matchLabels:node-healing.tke.cloud.tencent.com/belong-to: gpu-cluster-healercloud.tencent.com/provider: tencentcloudnode.tke.cloud.tencent.com/accelerator-type: gpumachineHealingTemplate:name: "default-healing-template"kind: "MachineHealingTemplate"apiVersion: "node.healing.tke.cloud.tencent.com/v1"unhealthyConditions:- type: GPUXIDFatalError # GPU fatal errorenableCheck: trueenableHealing: truedurationTime: "1m"priority: 100- type: GPUDeviceLost # GPU device lostenableCheck: trueenableHealing: truedurationTime: "5m"priority: 80nodeHealingPolicy:maxHealConcurrency: 3minNodeCoolingMinutes: 30
kubectl apply -f gpu-node-healer.yaml
hygon-gpu-node-healer.yaml.apiVersion: node.healing.tke.cloud.tencent.com/v1kind: NodeHealermetadata:name: hygon-gpu-cluster-healerspec:nodeSelector:matchLabels:node-healing.tke.cloud.tencent.com/belong-to: hygon-gpu-cluster-healercloud.tencent.com/provider: tencentcloudnode.tke.cloud.tencent.com/accelerator-type: dcumachineHealingTemplate:name: "default-healing-template"kind: "MachineHealingTemplate"apiVersion: "node.healing.tke.cloud.tencent.com/v1"unhealthyConditions:- type: HygonGPUDeviceLost # Hygon GPU device lost (complete self-healing)enableCheck: trueenableHealing: truedurationTime: "5m"priority: 85- type: HygonGPUDriverError # Hygon GPU driver exception (complete self-healing)enableCheck: trueenableHealing: truedurationTime: "5m"priority: 80- type: HygonGPUTempError # Hygon GPU temperature too high (isolation and draining only)enableCheck: trueenableHealing: truedurationTime: "5m"priority: 85- type: HygonGPUEccError # Hygon GPU ECC error (isolation and draining only)enableCheck: trueenableHealing: truedurationTime: "3m"priority: 90- type: HygonGPUPowerError # Hygon GPU power exception (isolation and draining only)enableCheck: trueenableHealing: truedurationTime: "3m"priority: 90nodeHealingPolicy:maxHealConcurrency: 3minNodeCoolingMinutes: 30
kubectl apply -f hygon-gpu-node-healer.yaml
nodeSelector. You need to add Tags to the target nodes that match those in nodeSelector.matchLabels in the configuration file. Using the following example configuration as a reference, run the following command to add Tags to the GPU nodes:kubectl label node <node-name> node-healing.tke.cloud.tencent.com/belong-to=gpu-cluster-healer
kubectl label node \\-l node.tke.cloud.tencent.com/accelerator-type=gpu \\node-healing.tke.cloud.tencent.com/belong-to=gpu-cluster-healer
kubectl get nodehealer
NAME AGEgpu-cluster-healer 1h
kubectl get node <gpu-node-name> -o jsonpath='{.status.conditions}' | jq
kubectl get healingtask -n kube-system
kubectl describe node command to view the node Condition and events, thereby identifying the specific fault type.nvidia-smi -q command (for NVIDIA GPUs) or the hy-smi -q command (for Hygon DCU GPUs) to check the detailed GPU status.kubectl uncordon command to uncordon the node and remove the self-healing-related Taint.Parameter | Type | Description |
type | string | |
enableCheck | bool | Whether to enable detection. |
enableHealing | bool | Whether to enable self-healing. |
durationTime | string | The duration after which self-healing is triggered when a fault persists. Format examples: 1m, 5m. |
priority | int | Priority. A higher value indicates a higher priority (0-100). |
Fault Type | Recommended Value | Description |
Critical hardware failures (such as ECC errors, XID fatal errors, and so on) | 1m | Respond quickly to avoid data corruption. |
General hardware failures (such as device loss and NVLink errors) | 5m | Observe appropriately to avoid misjudgment. |
Recoverable issues (such as warning-level errors) | 10m | Extend observation, as it may recover automatically. |
Parameter | Description | Recommended Value |
maxHealNodesPerDay | Maximum number of self-healing nodes per day | 10-20 |
maxHealNodesPerHour | Maximum number of self-healing nodes per hour | 3-5 |
maxHealConcurrency | Maximum concurrent self-healing quantity | 2-3 |
minNodeCoolingMinutes | Minimum interval between two self-healing operations on the same node (minutes) | 30-60 |
kubectl get ds -n kube-system | grep node-problem-detector
kubectl get pod -n kube-system -l app=node-problem-detector -o wide
kubectl get node <node-name> --show-labels
cloud.tencent.com/provider=tencentcloud Tag).durationTime configuration.kubectl describe nodehealer gpu-cluster-healer
kubectl label node <node-name> node-healing.tke.cloud.tencent.com/belong-to-
Apakah halaman ini membantu?
Anda juga dapat Menghubungi Penjualan atau Mengirimkan Tiket untuk meminta bantuan.
masukan