Node Component Self-Healing
Overview
Node component self-healing is a core capability of CCE clusters that ensures high availability. When a key component on a node becomes unavailable due to an intermittent fault or abnormal exit, the self-healing mechanism automatically detects and restores the component without manual intervention. This minimizes the impact of node-level faults on workloads and maintains system availability.
How It Works
Self-healing is implemented by a daemon process and the systemd service manager. The overall process is as follows.

- Periodic health check
The daemon process runs in the backend and periodically performs health checks on target components. Detection methods include:
- Process liveness detection
- Port response detection
- Exception judgment
If a component fails to respond or returns an error status for multiple consecutive checks, the daemon process flags it as abnormal. A single detection failure does not trigger self-healing, preventing false restarts caused by transient issues such as network jitter.
- Self-healing trigger
Once a component is flagged as abnormal, the daemon process invokes systemd to restart the service, enabling automatic recovery.
Self-Healing Components and Thresholds
| Component | Detection Cycle | Consecutive Failure Threshold | Determination Duration | Self-Healing Behavior |
|---|---|---|---|---|
| yangtse/canal | 10s | 5 | 50s | Restart yangtse/canal. |
| containerd/Docker (container runtime) | 10s | 5 | 50s | Restart containerd or Docker. |
| kubelet | 10s | 5 | 50s | Restart kubelet. |
| kube-proxy | 10s | 5 | 50s | Restart kube-proxy. |
| pod-identity-agent | 10s | 5 | 50s | Restart pod-identity-agent. |
A 10-second detection period × 5 consecutive failures = a 50-second determination window.
This window balances rapid fault detection with false-positive avoidance, ensuring sub-minute response time while filtering out transient jitter.
Auxiliary Detection by CCE Node Problem Detector
After CCE Node Problem Detector is installed, the cluster gains an additional layer of component status detection alongside self-healing, providing more comprehensive fault observability. The detection period and consecutive failure threshold can be configured per component to meet sensitivity and fault tolerance requirements in different scenarios. Shortening the period or lowering the threshold accelerates fault detection but may increase false positives. Conversely, increasing the period or raising the threshold improves fault tolerance but may delay fault response.
| Component | Detection Cycle | Consecutive Failure Threshold | Determination Duration | Default Troubleshooting Policy |
|---|---|---|---|---|
| yangtse/canal | 30s | 1 | 30s | Report abnormal events. |
| containerd/Docker (container runtime) | 30s | 1 | 30s | Report abnormal events. |
| kubelet | 30s | 1 | 30s | Report abnormal events. |
| kube-proxy | 30s | 1 | 30s | Report abnormal events. |
| pod-identity-agent | 30s | 1 | 30s | Report abnormal events. |
Advanced DR Policy
CCE Node Problem Detector can be configured to automatically perform the following disaster recovery (DR) actions after detecting a component fault, preventing the abnormal node from carrying further traffic.
| Policy | Description | Effect |
|---|---|---|
| Mark as unschedulable | Adds the node.kubernetes.io/unschedulable taint to the affected node. | Prevents new pods from being scheduled to that node. |
| Evict pods | Triggers pod eviction on the node. | Migrates existing pods to healthy nodes, accelerating service recovery. |
These policies can be enabled per component using CCE Node Problem Detector, making them suitable for production scenarios requiring high availability. Once the daemon process successfully restores the component, CCE Node Problem Detector updates the node status and removes the unschedulable taint.
Collaboration Between the Daemon Process and CCE Node Problem Detector
| Category | Daemon Process Self-Healing | CCE Node Problem Detector |
|---|---|---|
| Positioning | Proactive recovery: automatically restarts components after detecting exceptions. | Automatic detection + DR: reports events and can be configured to mark nodes unschedulable or evict pods. |
| Sensitivity | 50-second determination window (5 × 10 seconds), high fault tolerance. | Reports within 30 seconds (1 × 30 seconds); adjustable per component, yielding higher sensitivity. |
| Benefits | Automatic service recovery. | Rich fault event streams, supporting alarm-based troubleshooting and isolating faulty nodes to protect services. |
Precautions
- Self-healing applies only to component exceptions (such as process crashes or unresponsiveness). It cannot resolve system-level issues such as incorrect configurations, certificate expiration, or disk exhaustion.
- During component restart, the corresponding node briefly enters the NotReady state. This is expected behavior.
- Frequent self-healing triggers for a component indicate an underlying issue. Investigate using logs.
What is your overall rating for this page?
Thank 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