Active-Standby Pod Controller for Kubernetes Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container orchestration platforms lack efficient mechanisms for managing active and standby pods, leading to suboptimal load balancing and increased complexity due to the need for additional load balancing components.

Innovation Solution

The implementation of an active-standby controller that labels pods as active or standby, allowing the control plane to update pod-selection criteria and enable standby pods to handle requests only when needed, thereby avoiding the use of external load balancing components like Apache ZooKeeper.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional container orchestration platforms use all pods as active pods for load balancing, then the system can handle requests with multiple pods, but it requires additional external load balancing components (like Apache ZooKeeper) which increases device complexity

Engineering Contradiction:
Improveload balancing capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the load balancing functionality directly into the container orchestration platform by introducing an active-standby controller that manages pod selection through labels. This eliminates the need for external load balancing components like Apache ZooKeeper, thereby reducing system complexity while maintaining load balancing capabilities. The controller integrates pod status management and request routing within the existing orchestration architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The active-standby controller acts as an intermediary component between the service and the pods. It manages the active-pod labels and maintains a queue of standby pods, mediating the selection process without requiring external load balancers. This intermediary approach simplifies the overall system architecture by consolidating control functions within the orchestration platform itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the system activates standby pods only when needed, then resource utilization improves, but the management complexity of tracking and switching between active and standby pods increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidpod management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service mechanisms where the active-standby controller automatically manages pod status transitions. When an active pod fails or becomes unavailable, the controller automatically promotes a standby pod from the queue to active status by adding the appropriate label, without requiring manual intervention. This automation reduces the operational complexity of managing active-standby configurations while improving resource utilization efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The controller continuously monitors the health and status of active pods and maintains a queue of standby pods. When changes in pod status are detected (such as failure or recovery), the controller provides feedback by automatically adjusting labels and reconfiguring pod selection criteria. This feedback mechanism enables dynamic resource allocation while keeping management complexity manageable through automated responses to system state changes.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If pods are labeled with active-pod labels for selection, then the service can efficiently select active pods, but the control plane requires additional logic to manage label assignment which increases operational complexity

Engineering Contradiction:
Improvepod selection efficiencyVSAvoidcontrol plane complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system uses parameter changes in the form of labels to control pod selection efficiency. The active-pod label serves as a simple parameter that the service can query to determine which pods are currently active. While this introduces label management logic in the control plane, the label-based approach provides a clean, standardized mechanism that integrates well with existing Kubernetes labeling conventions, making the added complexity manageable and the selection process efficient.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11822442B2Active-standby pods in a container orchestration environment
Publication Date: 2023.11.21 AVAYA MANAGEMENT LP
  • US11822442B2 patent drawing
  • US11822442B2 patent drawing
  • US11822442B2 patent drawing

AI summary

Container orchestration platforms, such as Kubernetes, automatically manage the execution of applications in containers on host computing systems. An application may include component applications that execute in different containers and a container orchestration platform may organize the containers for those component applications into a pod for the application. To spread the load for the application, the container orchestration platform may enable creation of more than one pod for a single application. Once created, any of the multiple pods may be selected to handle a request to the application. As such, all of the pods are considered active by the container orchestration platform.