Container Orchestration Rolling Update Version Mismatch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In open-source container orchestration systems like Kubernetes, rolling updates can lead to service availability issues due to mismatched pod versions, especially when client and server pods are managed by different groups, requiring a system to maintain both previous and updated versions and dynamically route service requests to ensure high availability.

Innovation Solution

A method that registers topology for deployments, detects rolling updates, assumes ownership of previous version pods, and creates network routing rules to route service requests correctly between coexisting previous and updated version pods, ensuring seamless communication during updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If rolling update is implemented in container orchestration system, then service deployment flexibility is improved, but service availability deteriorates due to version mismatches between client and server pods

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidservice availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by detecting rolling updates before they complete and proactively assuming ownership of previous version pods. This early intervention allows the system to prepare network routing rules and maintain service endpoints before version mismatches occur, preventing service availability issues rather than reacting to them after they happen.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism (network routing rules) that sits between service requests and pod versions. This intermediary dynamically routes traffic to appropriate pod versions based on the request type, allowing both old and new versions to coexist without direct interference, thus maintaining service availability during transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If both previous and updated version pods are maintained during rolling update, then service continuity is improved, but system complexity increases due to version management

Engineering Contradiction:
Improveservice continuityVSAvoidversion management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments pod management by ownership, clearly separating pods into two categories: those owned by the deployment controller (new versions) and those assumed by the service controller (previous versions). This segmentation eliminates the complexity of unified version management by assigning clear responsibilities to different controllers based on pod version status.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic ownership transfer based on deployment phase. During rolling updates, the service controller dynamically assumes ownership of previous version pods, and this ownership is automatically transferred back when updates complete. This dynamic approach simplifies version management by adapting controller responsibilities to the current deployment state rather than using static management rules.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If network routing rules are created for previous version pods, then request routing accuracy is improved, but network configuration complexity increases

Engineering Contradiction:
Improverequest routing accuracyVSAvoidnetwork configuration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system applies local quality by creating specific network routing rules tailored to each service's needs rather than implementing a universal routing mechanism. Each service controller creates routing rules locally for its own previous version pods, allowing precise control over traffic routing while keeping the overall network configuration manageable through decentralized rule creation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11816469B2Resolving the version mismatch problem when implementing a rolling update in an open-source platform for container orchestration
Publication Date: 2023.11.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11816469B2 patent drawing
  • US11816469B2 patent drawing
  • US11816469B2 patent drawing

AI summary

According to one embodiment, a method, computer system, and computer program product for container lifecycle management is provided. The embodiment may include registering a topology for a plurality of deployments in a container orchestration platform. The embodiment may include detecting a rolling update to a deployment of the plurality of deployments. The embodiment may include assuming ownership of at least one previous version pod of the deployment. The embodiment may include creating network routing rules for the at least one previous version pod. The embodiment may include routing network packets to the at least one previous version pod based on the created network routing rules.