Container Network Health Monitoring and Rerouting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current IPtable layer-3 load balancing schemes in container application environments lack the functionality to perform health checks on backend failures, preventing them from rerouting connections to healthy servers.
Innovation Solution
Implementing a health monitoring and rerouting process that intercepts connection initialization packets, maintains a connection table, and injects IPtable rules using the NFQUEUE implementation to detour packets from unhealthy to healthy server pods, ensuring seamless traffic rerouting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If IPtable layer-3 load balancing schemes are used in container application environments, then load balancing capability is provided, but health check functionality on backend failures is lacking
Solution Approach 1:
The patent introduces a health monitoring system as an intermediary component that sits between the load balancer and backend servers. This mediator performs health checks by sending probe packets to backend servers and uses the responses to determine server health status, enabling reliable health monitoring without requiring complex integration with the existing IPtable load balancing framework.
Solution Approach 2:
The system performs preliminary health checks before routing traffic to backend servers. By continuously monitoring server health status through probe packets and detecting failures in advance, the system can proactively reroute traffic away from unhealthy servers, preventing service degradation rather than reacting to failures after they occur.
2Productivity
If health monitoring and rerouting process is implemented, then connection rerouting capability is improved, but packet processing complexity increases
Solution Approach 1:
The health monitoring system operates autonomously by automatically detecting server health status through probe packets and initiating rerouting actions without requiring manual intervention. The system self-manages the entire process from health check to connection rerouting, reducing operational complexity while maintaining high rerouting speed through automated decision-making.
Solution Approach 2:
The system dynamically adjusts packet routing decisions based on real-time server health status. When a server is detected as unhealthy, the system dynamically modifies IPtable rules to redirect traffic to healthy servers. This dynamic adaptation allows the system to respond quickly to changing server conditions while managing processing complexity through rule-based automation.
3Measurement precision
If in-band health checks are performed, then health detection accuracy is improved, but network traffic overhead increases
Solution Approach 1:
The system performs health checks by sending probe packets that are a subset of actual application traffic. Rather than monitoring every packet, the system samples traffic using strategically placed probe packets that sufficient to accurately determine server health status. This partial monitoring approach maintains detection accuracy while minimizing the volume of network traffic required for health checks.
Data Source
AI summary
An embodiment detects, by a packet detection module on a first worker node, a first synchronization message (SYN) issued from a client pod on the first worker node and directed to a first server pod on a second worker node and generates a first SYN record in a connection table stored on the first worker node. The embodiment detects, by the packet detection module, a second SYN issued from the client pod and directed to the first server pod and generates a server pod status record stored in memory on the first worker node indicative of the first server pod having an unhealthy status. The embodiment identifies an available server pod having a healthy status and generates a detour routing rule in a routing table on the first worker node indicative of a revised connection in which the identified available server pod replaces the first server pod.


