Configuring Node Fault Detection Policies
Node fault detection depends on the CCE Node Problem Detector add-on (CCE Node Problem Detector). The add-on pod runs on each node to monitor node faults. This section describes how to enable node fault detection.
Prerequisites
The CCE Node Problem Detector add-on (CCE Node Problem Detector) add-on has been installed in the cluster.
Enabling Node Fault Detection
- Log in to the CCE console and click the cluster name to access the cluster console.
- In the navigation pane, choose Nodes. On the displayed page, click the Nodes tab.
- Click Fault Detection Policies to check the current fault detection items. For more details, see CCE Node Problem Detector Check Items. If Fault Detection Policies is unavailable, the CCE Node Problem Detector add-on is not installed or running. Install or troubleshoot the add-on.
- Check the node status for any abnormal metrics.

- Click Abnormal metrics and rectify the fault as prompted.

Custom Check Items
- Log in to the CCE console and click the cluster name to access the cluster console.
- In the navigation pane, choose Nodes and click the Nodes tab. Then, click Fault Detection Policies.
- On the displayed page, view the current check items. Click Edit in the Operation column and edit checks. Currently, the following configurations are supported:
- Enable/Disable: Enable or disable a check item.
- Target Node: By default, check items run on all nodes. Use node labels to filter target nodes. When multiple criteria are specified, all must match. If no criterion is set, all nodes are selected by default. For example, the spot ECS interruption check runs only on spot pricing nodes, filtered by label cce.io/is-spot.

- Check Period: The interval between check executions. CCE Node Problem Detector provides a default value that covers common fault scenarios. You can change the value as needed.
- Trigger: The CCE Node Problem Detector add-on provides the default threshold to match common fault scenarios. You can change the threshold as required. The threshold varies depending on check items, such as the number of failures and resource usage percentage. You can adjust the threshold as required. For example, you can change the threshold of resource usage percentage from 90% to 80%.

- Policy: After a fault occurs, you can select the policies listed in the following table as needed.
Table 1 Troubleshooting policies Policy
Effect
Report exception
Kubernetes events are reported.
Disable scheduling
Kubernetes events are reported and the NoSchedule taint is added to the node.
Evict workload
Kubernetes events are reported and the NoExecute taint is added to the node. This operation will evict workloads on the node and interrupt services. Exercise caution when performing this operation.
CCE Node Problem Detector Check Items
Check items are supported only in the add-on 1.16.0 and later versions.
Check items cover events and statuses.
- Event-related
For event-related check items, when a problem occurs, CCE Node Problem Detector reports an event to the API server. The event type can be Normal (normal event) or Warning (abnormal event).
Table 2 Event-related check items Check Item
Function
Description
OOMKilling
Listen to the kernel logs and check whether there are any OOM events. If there is an OOM event, the component will report it.
Typical scenario: The memory used by the process in the container exceeds the limit, triggering OOM and terminating the process.
Warning event
Listening object: /dev/kmsg
Matching rule: "Killed process \\d+ (.+) total-vm:\\d+kB, anon-rss:\\d+kB, file-rss:\\d+kB.*"
TaskHung
Listen to the kernel logs and check whether there are any taskHung events. If there is a taskHung event, the component will report it.
Typical scenario: Disk I/O suspension causes process suspension.
Warning event
Listening object: /dev/kmsg
Matching rule: "task \\S+:\\w+ blocked for more than \\w+ seconds\\."
ReadonlyFilesystem
Listen to the kernel logs and check whether there is a Remount root filesystem read-only error in the system kernel.
Typical scenario: A user detaches a data disk from a node by mistake on the ECS, and applications continuously write data to the mount point of the data disk. As a result, an I/O error occurs in the kernel and the disk is remounted as a read-only disk.
NOTE:If a node's rootfs uses Device Mapper and the data disk is detached from the node, the thin pool will malfunction. This will affect CCE Node Problem Detector, and the add-on will not be able to detect node faults.
Warning event
Listening object: /dev/kmsg
Matching rule: Remounting filesystem read-only
- Status-related
For status-related check items, when a problem occurs, CCE Node Problem Detector reports an event to the API server and changes the node status synchronously. This function can be used together with Node-problem-controller fault isolation to isolate nodes.
Table 4 Checking system metrics Check Item
Function
Description
Conntrack table full
ConntrackFullProblem
Check whether the conntrack table is full.
- Default threshold: 90%
- Usage: nf_conntrack_count
- Maximum value: nf_conntrack_max
Insufficient disk resources
DiskProblem
Check the usage of the system disk and CCE data disks (including the CRI logical disk and kubelet logical disk) on nodes.
- Default threshold: 90%
- Source:
df -h
Data disks other than system and CCE data disks (including CRI and kubelet logical disks) cannot currently be checked on nodes.
Insufficient file handles
FDProblem
Check if the FD file handles are used up.
- Default threshold: 90%
- Usage: the first value in /proc/sys/fs/file-nr
- Maximum value: the third value in /proc/sys/fs/file-nr
Insufficient node memory
MemoryProblem
Check whether memory is used up.
- Default threshold: 80%
- Usage: MemTotal-MemAvailable in /proc/meminfo
- Maximum value: MemTotal in /proc/meminfo
Insufficient process resources
PIDProblem
Check whether PID process resources are exhausted.
- Default threshold: 90%
- Usage: denominator of the fourth value in /proc/loadavg, which indicates the total number of processes that can run
- Maximum value: smaller value between /proc/sys/kernel/pid_max and /proc/sys/kernel/threads-max.
Table 6 Other check items Check Item
Function
Description
Abnormal NTP
NTPProblem
Check whether the node clock synchronization service ntpd or chronyd is running properly and whether there is a system time drift.
Default clock offset threshold: 8000 ms
Process D error
ProcessD
Check whether there is any process in the D state on nodes.
Default threshold: 10 abnormal processes detected for three consecutive times
Source:
- /proc/{PID}/stat
- Alternately, you can run the ps aux command.
Exceptional scenario: The ProcessD check item ignores the resident D processes (heartbeat and update) on which the SDI drivers on BMS nodes depend.
Process Z error
ProcessZ
Check whether there is any process in the Z state on nodes.
RDMA network interface error
Check the RDMA network interface status.
NOTE:CCE Node Problem Detector 1.19.37 and later versions support the RDMA network interface error detection function and mark the RDMAProblem status on the node. It automatically writes this status to the node object. If the add-on is rolled back to an earlier version that does not support this function, CCE Node Problem Detector cannot clear the status. As a result, the marked status is retained.
Default threshold: one RDMA network interface error detected for one consecutive time
Source:
- Command: rdma link show
ResolvConf error
ResolvConfFileProblem
Check whether the ResolvConf file is lost.
Check whether the ResolvConf file is normal.
Definition: No upstream domain name resolution server (nameserver) is included.
Check object: /etc/resolv.conf
Existing scheduled event
ScheduledEvent
Check whether there is any live migration event on nodes. A live migration event is usually triggered by a hardware fault and is an automatic fault rectification method at the IaaS layer.
Typical scenario: The host is faulty. For example, the fan is damaged or the disk has bad sectors. As a result, a live migration is triggered for VMs.
Source:
- http://169.254.169.254/meta-data/latest/events/scheduled
This check item is an Alpha feature and is disabled by default.
The spot price node is being reclaimed.
SpotPriceNodeReclaimNotification
Check whether any spot price node is interrupted and reclaimed due to preemption.
Default check interval: 120 seconds
Default fault handling policy: Evict some workloads on the nodes.
The kubelet component has the following default check items, which have bugs or defects. You can fix them by upgrading the cluster or using CCE Node Problem Detector.
Table 7 Default kubelet check items Check Item
Function
Description
Insufficient PIDs
PIDPressure
Check whether PIDs are sufficient.
- Interval: 10 seconds
- Threshold: 90%
- Defect: In community version 1.23.1 and earlier, this check item becomes invalid when over 65,535 PIDs are used. For details, see issue 107107. In community version 1.24 and earlier, thread-max is not considered in this check item.
Insufficient memory
MemoryPressure
Check whether the allocatable memory for the containers is sufficient.
- Interval: 10 seconds
- Threshold: Maximum value – 100 MiB
- Allocatable memory = Total memory on a node – Reserved memory on a node
- Defect: This check item checks only the allocatable memory of containers and does not check that on the node.
Insufficient disk space
DiskPressure
Check the disk usage and inode usage of the kubelet and Docker disks.
- Interval: 10 seconds
- Threshold: 90%
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot