Multi-Cluster Kubernetes Orchestration via Unified Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and orchestrating applications across multiple Kubernetes clusters is challenging due to the need for manual workload migration, lack of flexible scheduling across cloud providers, and the absence of infrastructure management and high-availability features in existing solutions.

Innovation Solution

Nova's Scheduler provides capacity-based, spread, and annotation-based scheduling, along with Just-in-Time cluster provisioning and automation of disaster recovery, using a Kubernetes-native API for multi-cluster orchestration, enabling flexible workload placement and high-availability across different cloud environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual workload migration is used to manage multiple Kubernetes clusters, then workload can be moved between clusters, but the complexity of management increases significantly when the number of clusters exceeds a handful

Engineering Contradiction:
Improveworkload migration capabilityVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a multi-cluster orchestrator as an intermediary system that manages workload scheduling across multiple Kubernetes clusters. This orchestrator provides a unified control plane that abstracts the complexity of managing multiple clusters, allowing administrators to manage workloads across many clusters through a single interface rather than manually managing each cluster individually.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The orchestrator implements universal scheduling capabilities that work across heterogeneous Kubernetes clusters from different cloud providers and on-premises environments. It provides a single-point-of-access that can schedule workloads flexibly across multiple clusters regardless of their underlying infrastructure, eliminating the need for separate management approaches for each cluster type.

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

2Reliability

If clusters are provisioned for specific purposes every time the need arises, then resource isolation and fault domain separation are achieved, but infrastructure management overhead increases

Engineering Contradiction:
Improvefault domain separationVSAvoidinfrastructure provisioning
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The orchestrator performs preliminary actions by pre-provisioning and pre-configuring multiple Kubernetes clusters with appropriate isolation and fault domain separation before workloads need to be deployed. This allows the system to have clusters ready in advance for different purposes (development, testing, production, different tenants) so that when workload provisioning is needed, clusters are already available and configured, eliminating the need for manual provisioning at the moment of need.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If existing Kubernetes management solutions are used within specific cloud providers, then workloads can be managed within that provider's ecosystem, but flexibility to schedule workloads across multiple cloud providers is lost

Engineering Contradiction:
Improveworkload management within providerVSAvoidmulti-cloud scheduling flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The orchestrator implements a universal scheduling framework that works across multiple cloud providers (AWS, Azure, GCP) and on-premises Kubernetes clusters. It provides a single-point-of-access that can schedule workloads flexibly across heterogeneous clusters from different providers, maintaining ease of operation through unified management while achieving multi-cloud versatility that individual provider-specific solutions cannot provide.

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

4Adaptability or versatility

If existing multi-cluster projects (Open-Cluster-Management, Karmada, KCP, Liqo) are used, then workload scheduling across clusters is enabled, but infrastructure management dimension and automated high-availability provisioning are missing

Engineering Contradiction:
Improveworkload scheduling across clustersVSAvoidautomated infrastructure provisioning
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The orchestrator implements self-service capabilities that automatically provision infrastructure resources based on workload needs. When workloads are scheduled, the system automatically provisions the necessary cluster infrastructure, configures high-availability settings, and manages disaster recovery without requiring manual intervention. This automated self-service approach complements the workload scheduling functionality while adding the missing infrastructure management and automation dimensions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250110780A1System and method for multi-cluster orchestration
Publication Date: 2025.04.03 ELOTL INC
  • US20250110780A1 patent drawing
  • US20250110780A1 patent drawing

AI summary

Execution of computing workloads by a fleet of multiple Kubernetes clusters in a distributed computing environment in managed by determining on which of a plurality of managed clusters to place the workloads, by tracking and matching resource needs of the workloads with cluster resource capacities and availability. Common workloads related to multi-tenancy across subsets of the fleet of clusters can be duplicated, thereby enabling standardization of clusters and prevention of redundant manifests across software repositories. Workloads may be placed according to different policies, including placing them on an ordered set of target clusters and, according to the ordered set, prioritizing the workloads in the ordered set, or on statically, pre-determined clusters. Clusters may also be cloned and, on demand, new clusters may be brought up and idle clusters may be shut down. The start of workloads may also be triggered from a failed cluster to a different functional cluster.