Kubernetes Orchestrator Affinity Constraints and IP Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current orchestration platforms like KUBERNETES face challenges in efficiently deploying and managing multi-role applications, particularly in handling complex user requirements and virtualized storage volumes, which limits their ability to implement affinity and anti-affinity constraints and maintain IP addresses during pod replacements.

Innovation Solution

The proposed solution extends the functionality of KUBERNETES by using an orchestrator that coordinates with storage and networking plugins to create and manage containers and storage volumes, enabling multiple network interfaces, affinity and anti-affinity constraints, and maintaining IP addresses through a scheduling agent and CSI/CNI plugins, while also allowing for NUMA-aware CPU allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If KUBERNETES orchestration platform is used to deploy multi-role applications, then application deployment capability is provided, but ability to handle complex user requirements and implement affinity/anti-affinity constraints is limited

Engineering Contradiction:
Improveability to handle complex user requirementsVSAvoidorchestration platform complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the orchestration functionality by introducing separate affinity and anti-affinity constraint management modules that work alongside the existing KUBERNETES scheduler. This allows complex user requirements to be handled through modular constraint applications rather than requiring complete orchestration platform redesign, thus improving adaptability while managing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces affinity and anti-affinity constraint specifications as intermediary layers between user requirements and the KUBERNETES scheduling mechanism. These constraints act as mediators that translate complex user requirements into scheduler-understandable parameters, enabling enhanced versatility without directly complicating the core orchestration platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If pod replacement is performed in KUBERNETES, then application continuity is maintained, but IP address is lost

Engineering Contradiction:
Improveapplication continuityVSAvoidIP address
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements preliminary action by capturing and storing the IP address information of the original pod before it is terminated during replacement. This pre-capture of IP address data allows the system to subsequently assign the same IP address to the replacement pod, thereby maintaining IP address continuity and preventing information loss while ensuring application reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If virtualized storage volumes are managed through KUBERNETES, then storage orchestration is provided, but efficient resource allocation and NUMA-aware CPU allocation are limited

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidstorage and CPU management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by introducing NUMA-aware CPU allocation that assigns CPUs based on their specific NUMA node characteristics and proximity to storage resources. This localized CPU assignment optimizes resource allocation efficiency by ensuring that compute resources are allocated according to their physical location and performance characteristics, rather than using a uniform allocation approach.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the scheduling parameters by incorporating NUMA topology awareness into the CPU allocation process. This parameter change allows the scheduler to consider NUMA node identifiers and proximity metrics when allocating CPUs to pods with storage requirements, thereby improving resource allocation efficiency while managing the added complexity through parameter-based control.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If multiple network interfaces are implemented for pods, then network communication flexibility is improved, but networking plugin complexity increases

Engineering Contradiction:
Improvenetwork communication flexibilityVSAvoidnetworking plugin complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing the networking plugin architecture to handle multiple network interface types through a unified interface. This multi-functional approach allows the same plugin infrastructure to support various network interface configurations and types, improving network communication flexibility without proportionally increasing plugin complexity through specialized code for each interface type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11271895B1Implementing advanced networking capabilities using helm charts
Publication Date: 2022.03.08 RAKUTEN SYMPHONY INC
  • US11271895B1 patent drawing
  • US11271895B1 patent drawing
  • US11271895B1 patent drawing

AI summary

A KUBERNETES installation processes a script and invokes a scheduling agent in response to encountering an instruction to create a pod. The scheduling agent is an agent of an orchestrator and performs tasks such as identifying a selected node, creating multiple interface objects with multiple IP addresses, and creating storage volumes in coordination with the orchestrator. Upon creation, the pod may call a CNI that is an agent of the orchestrator in order to configure the pod to use the multiple interface objects. The pod may call a CSI that is an agent of the orchestrator in order to bind a storage volume to the pod. The scheduling agent may coordinate with the orchestrator to implement affinity and anti-affinity rules for placement of pods and storage volumes. The script may also be transformed by the orchestrator in order to insert instructions implementing affinity and ant-affinity rules.