Distributed Control Plane Failover for Virtualization Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, managing autonomous clusters is challenging when the central control service cannot communicate with one or more clusters, a client cannot communicate with the central control service, or the control service becomes unavailable, leading to difficulties in deploying, migrating, or managing virtual machines across clusters.
Innovation Solution
A method is implemented where a first host in a cluster monitors the availability of control plane services at a second host and assigns itself to act as a substitute if the control plane services are unavailable, allowing it to process API requests and allocate resources to support virtual machine operations, ensuring high availability and failover capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a centralized control service is used to manage clusters, then resource distribution and virtual machine deployment are simplified, but system availability deteriorates when the control service becomes unavailable
Solution Approach 1:
The centralized control service is segmented into distributed control plane services deployed across multiple hosts within the cluster. Each host can independently provide control plane functionality, eliminating the single point of failure inherent in centralized architecture. This segmentation allows the cluster to maintain management capabilities even when individual control plane instances are unavailable.
Solution Approach 2:
The system changes the operational parameter of control service availability from centralized to distributed mode. When control plane services are unavailable at certain hosts, other hosts can assume control plane responsibilities, dynamically adjusting the system's operational state to maintain availability while preserving the simplified resource distribution benefits of centralized management.
2Device complexity
If control plane services are concentrated at a single host, then service management is simplified, but cluster functionality deteriorates when that host becomes unavailable
Solution Approach 1:
Multiple hosts within the cluster are equipped with universal control plane service capabilities, allowing any host to perform control plane functions. This multi-functionality ensures that if one host becomes unavailable, another host can immediately assume control plane responsibilities, maintaining cluster functionality while keeping service management relatively simple through standardized interfaces.
Solution Approach 2:
Control plane services are pre-configured and distributed across multiple hosts before any failure occurs. This preliminary distribution of control capabilities ensures that when a host becomes unavailable, the system can immediately failover to another host with pre-configured control plane services, avoiding the need for complex recovery procedures and maintaining continuous cluster functionality.
3Productivity
If a centralized control service is used, then virtual machine deployment is streamlined, but operational continuity deteriorates when communication between client and control service is lost
Solution Approach 1:
The system introduces local control plane services as intermediaries between clients and the control plane functionality. When communication with the centralized control service is lost, these local intermediaries can continue to handle virtual machine deployment and management operations, ensuring operational continuity while preserving the streamlined deployment process through standardized interfaces.
Data Source
AI summary
Systems, apparatus, articles of manufacture, and methods are disclosed to manage a deployment of virtual machines in a cluster by, in a first host of a plurality of hosts, monitor, with first control plane services, an availability of second control plane services at a second host of the plurality of hosts, wherein the first control plane services and the second control plane services support implementation of application programming interface (API) requests in association with managing a cluster, after a determination that the second control plane services at the second host is not available, assign the first control plane services at the first host to operate in place of the second control plane services at the second host, and in the first host, assign, via the first control plane services at the first host, resources of one or more hosts in the cluster to support the API request.


