Container Workload Recovery via Node Failure Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container management systems, such as Kubernetes, lack effective techniques for managing node failures, particularly in scenarios where a node may be down or experiencing communication issues, leading to uncertainty and prolonged recovery times for stateful applications.

Innovation Solution

The proposed solution involves a method to detect node failures, isolate the failed node, delete configuration objects, and create replacement containerized workloads on healthy nodes, using a podmon architecture that interacts with the Kubernetes API and CSI driver to manage persistent storage and node states, ensuring timely restoration of stateful applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system waits for node recovery before taking action, then false positives are avoided, but recovery time is prolonged

Engineering Contradiction:
Improveaccuracy of failure detectionVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by immediately isolating storage volumes and marking configuration objects when node failure is detected, rather than waiting for full recovery confirmation. This preliminary isolation prevents data corruption while the node is recovering, and allows replacement workloads to be scheduled sooner on healthy nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies preliminary anti-action by proactively preventing new workload scheduling on failed nodes through configuration object marking, and isolating storage volumes before the node can potentially cause data corruption. This counter-measure is taken in advance to prevent the harmful effect of data corruption that might occur if the node recovers in an inconsistent state.

Inventive Principle:
Principle #9Preliminary anti-action

2Reliability

If storage volumes are isolated immediately upon node failure detection, then data corruption is prevented, but system resources are tied up longer

Engineering Contradiction:
Improvedata integrityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the storage volumes from the failed node immediately upon detection, isolating them from the node to prevent data corruption. This extraction is performed separately from the node itself, allowing the storage volumes to be protected while the node is being recovered or replaced, thus maintaining data integrity without permanently tying up resources.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards the association between storage volumes and the failed node, marking configuration objects to prevent new workloads from being scheduled on the failed node. When the node recovers or is replaced, the storage volumes can be recovered and reassigned to new workloads on healthy nodes, thus preventing permanent resource loss.

Inventive Principle:
Principle #34Discarding and recovering

3Measurement precision

If configuration objects are marked to prevent scheduling on failed nodes, then workload placement accuracy is improved, but scheduling flexibility is reduced

Engineering Contradiction:
Improvefailure state identificationVSAvoidworkload scheduling flexibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system applies dynamic marking to configuration objects, where the failed node indicator is added temporarily upon failure detection and can be removed when the node recovers or is properly replaced. This dynamic approach maintains precise failure state identification while allowing scheduling flexibility to be restored once the node is no longer in a failed state, thus adapting to changing system conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11809276B2Container-based stateful application resilience to node failure
Publication Date: 2023.11.07 EMC IP HLDG CO LLC
  • US11809276B2 patent drawing
  • US11809276B2 patent drawing
  • US11809276B2 patent drawing

AI summary

Techniques for managing node failures in container environments are disclosed. In one example, a method determines when a first node executing at least one containerized workload has failed. In response to determining the first node has failed, the method marks a configuration object for the first node with an indicator that the first node is not to be used to schedule execution of a subsequent containerized workload, isolates from the first node one or more storage volumes used by the first node, and deletes configuration objects for the one or more storage volumes and for the containerized workload. The method then causes creation of a replacement containerized workload for execution on a second node, removes one or more artifacts associated with the containerized workload from the first node, and removes the indicator from the configuration object for the first node.