Multi-Cluster Kubernetes Orchestration via Unified Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.

