Kubernetes Pod Scheduling With Affinity and Multi-Interface Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current orchestration platforms like KUBERNETES face challenges in efficiently managing and deploying multi-role applications, particularly in handling complex user requirements, storage, and networking constraints across distributed environments.

Innovation Solution

The solution involves an orchestrator that extends KUBERNETES functionality by using a storage manager and plugins like CSI and CNI to manage storage and networking, processing scripts to create pods and containers with multiple interfaces, and implementing affinity and anti-affinity constraints, while maintaining IP addresses and CPU exclusivity, to ensure efficient deployment and management of applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If KUBERNETES is used to orchestrate multi-role applications, then deployment automation is improved, but managing complex user requirements and constraints becomes difficult

Engineering Contradiction:
Improvedeployment automationVSAvoidcomplexity of managing constraints
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer between the user and KUBERNETES that translates high-level user requirements into KUBERNETES-native constraints. This intermediary handles the complexity of affinity and anti-affinity rules, storage constraints, and networking requirements, allowing users to specify requirements in a simplified manner while the system automatically generates the necessary KUBERNETES configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple interfaces are added to pods for complex networking, then networking capability is improved, but system complexity increases

Engineering Contradiction:
Improvenetworking capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal networking interface framework where a single pod can be configured with multiple network interfaces through a unified mechanism. This allows the same pod template to serve multiple networking scenarios (single interface, multiple interfaces, different network types) without requiring separate pod definitions, thereby improving versatility while managing complexity through standardization.

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

3Reliability

If affinity and anti-affinity constraints are implemented, then application stability is improved, but orchestration complexity increases

Engineering Contradiction:
Improveapplication stabilityVSAvoidorchestration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-configuring affinity and anti-affinity constraints as part of the application deployment template. These constraints are defined upfront in the application manifest, allowing the orchestration system to automatically enforce them during pod scheduling without requiring complex runtime decisions. This approach ensures application stability while keeping the orchestration logic straightforward.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If storage and networking plugins are integrated, then functionality is improved, but integration complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the storage and networking functionality into separate, standardized plugins that can be independently configured and managed. Each plugin handles a specific aspect (storage provisioning, network interface configuration), and they communicate through well-defined interfaces with the KUBERNETES controller. This segmentation allows the system to provide enhanced functionality while managing integration complexity through modularity and standardization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11456914B2Implementing affinity and anti-affinity with KUBERNETES
Publication Date: 2022.09.27 RAKUTEN SYMPHONY INC
  • US11456914B2 patent drawing
  • US11456914B2 patent drawing
  • US11456914B2 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 anti-affinity rules.