IP Library Granted Patent US 12,596,567
Granted Patent B2
US 12,596,567 · App. 18/119,849 · Granted Apr 7, 2026

High availability control plane node for container-based clusters

Inventors: Pradeep Shanmukha Jigalur (Hubli, IN); Christopher John Schaefer (Venice, FL)
Assignee: VMware, Inc.
G06F9/45558G06F2009/4557G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,596,567
App. No.
18/119,849
Granted
Apr 7, 2026
Kind
B2
Abstract

The disclosure provides a method for providing a high availability control plane in a container-based cluster. The method generally includes determining a first control plane node is unreachable within a cluster; in response to determining the first control plane node is unreachable, activating a second control plane node previously deployed in the cluster, wherein prior to activing the second control plane node the second control plane node comprises: control plane components, not actively running on the second control plane node, that are configured to manage the other components within the cluster; removing the active control plane node from the cluster; determining a number of inactive control plane nodes associated with the second control plane node is less than a minimum number of inactive control plane nodes; and deploying one or more inactive control plane nodes associated with the second control plane node until the minimum number is reached.

Claims (83)

1 . A method for providing a high availability control plane in a container-based cluster, the method comprising:

determining a first control plane node is unreachable within the container-based cluster, wherein the first control plane node comprises:

first control plane components, actively running on the first control plane node, that are configured to manage other components within the container-based cluster, and

a first network interface activated to allow for management of the other components within the container-based cluster by the first control plane components;

in response to determining the first control plane node is unreachable, activating a second control plane node previously deployed in the container-based cluster, wherein prior to activating the second control plane node the second control plane node comprises:

second control plane components, not actively running on the second control plane node, that are configured to manage the other components within the container-based cluster, and

a second network interface deactivated and configured to allow for management of the other components within the container-based cluster by the second control plane components;

assigning an internet protocol address of the first control plane node to the second control plane node;

broadcasting a gratuitous address resolution protocol message to inform at least the other components in the container-based cluster about the assignment of the internet protocol address of the first control plane node to the second control plane node;

in response to determining the first control plane node is unreachable, removing the first control plane node from the container-based cluster;

determining a number of inactive control plane nodes associated with the second control plane node and comprising control plane components not actively running on the inactive control plane nodes is less than a minimum number of inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node; and

deploying one or more inactive control plane nodes associated with the second control plane node in the container-based cluster until the minimum number of the inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node is met.

2 . The method of claim 1 , wherein activating the second control plane node previously deployed in the container-based cluster comprises:

activating the second control plane components on the second control plane node;

activating the second network interface to allow for management of the other components within the container-based cluster by the second control plane components.

3 . The method of claim 1 , wherein a witness node determines that the first control plane node is inactive, activates the second control plane node, and deploys the one or more inactive control plane nodes.

4 . The method of claim 1 , further comprising:

prior to determining the first control plane node is unreachable, configuring the second control plane node such that a second intended state of the container-based cluster indicated by one or more second manifests stored at the second control plane node matches a first intended state of the container-based cluster indicated by one or more first manifests stored at the first control plane node.

5 . The method of claim 4 , wherein:

the first control plane node further comprises a third network interface activated at the first control plane node to allow for communication with at least the second control plane node;

the second control plane node further comprises a fourth network interface activated at the second control plane node activated at the second control plane node to allow for communication with at least the first control plane node; and

configuring the second control plane node comprises performing a sync between the first control plane node and the second control plane node via the third network interface and the fourth network interface.

6 . The method of claim 1 , wherein determining the first control plane node is unreachable within the container-based cluster comprises:

transmitting a request for a packet response from the first control plane node; and

failing to receive the packet response from the first control plane node.

7 . The method of claim 1 , wherein:

the first control plane node comprises a first host or a first virtual machine running on the first host; and

the second control plane node comprises a second host or a second virtual machine running on the first host or the second host.

8 . A system comprising:

one or more processors; and

at least one memory, the one or more processors and the at least one memory configured to:

determine a first control plane node is unreachable within the container-based cluster, wherein the first control plane node comprises:

first control plane components, actively running on the first control plane node, that are configured to manage other components within the container-based cluster, and

a first network interface activated to allow for management of the other components within the container-based cluster by the first control plane components;

in response to determining the first control plane node is unreachable, activate a second control plane node previously deployed in the container-based cluster, wherein prior to activating the second control plane node the second control plane node comprises:

second control plane components, not actively running on the second control plane node, that are configured to manage the other components within the container-based cluster, and

a second network interface deactivated and configured to allow for management of the other components within the container-based cluster by the second control plane components;

in response to determining the first control plane node is unreachable, remove the first control plane node from the container-based cluster;

assign an internet protocol address of the first control plane node to the second control plane node;

broadcast a gratuitous address resolution protocol message to inform at least the other components in the container-based cluster about the assignment of the internet protocol address of the first control plane node to the second control plane node;

determine a number of inactive control plane nodes associated with the second control plane node and comprising control plane components not actively running on the inactive control plane nodes is less than a minimum number of inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node; and

deploy one or more inactive control plane nodes associated with the second control plane node in the container-based cluster until the minimum number of the inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node is met.

9 . The system of claim 8 , wherein activating the second control plane node previously deployed in the container-based cluster comprises:

activating the second control plane components on the second control plane node; and

activating the second network interface to allow for management of the other components within the container-based cluster by the second control plane components.

10 . The system of claim 8 , wherein a witness node determines that the first control plane node is inactive, activates the second control plane node, and deploys the one or more inactive control plane nodes.

11 . The system of claim 8 , wherein the one or more processors and the at least one memory are further configured to:

prior to determining the first control plane node is unreachable, configure the second control plane node such that a second intended state of the container-based cluster indicated by one or more second manifests stored at the second control plane node matches a first intended state of the container-based cluster indicated by one or more first manifests stored at the first control plane node.

12 . The system of claim 11 , wherein:

the first control plane node further comprises a third network interface activated at the first control plane node to allow for communication with at least the second control plane node;

the second control plane node further comprises a fourth network interface activated at the second control plane node activated at the second control plane node to allow for communication with at least the first control plane node; and

to configure the second control plane node comprises to perform a sync between the first control plane node and the second control plane node via the third network interface and the fourth network interface.

13 . The system of claim 8 , wherein to determine the first control plane node is unreachable within the container-based cluster comprises:

transmitting a request for a packet response from the first control plane node; and

failing to receive the packet response from the first control plane node.

14 . The system of claim 8 , wherein:

the first control plane node comprises a first host or a first virtual machine running on the first host; and

the second control plane node comprises a second host or a second virtual machine running on the first host or the second host.

15 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for providing a high availability control plane in a container-based cluster, the operations comprising:

determining a first control plane node is unreachable within the container-based cluster, wherein the first control plane node comprises:

first control plane components, actively running on the first control plane node, that are configured to manage other components within the container-based cluster, and

a first network interface activated to allow for management of the other components within the container-based cluster by the first control plane components;

in response to determining the first control plane node is unreachable, activating a second control plane node previously deployed in the container-based cluster, wherein prior to activating the second control plane node the second control plane node comprises:

second control plane components, not actively running on the second control plane node, that are configured to manage the other components within the container-based cluster, and

a second network interface deactivated and configured to allow for management of the other components within the container-based cluster by the second control plane components;

in response to determining the first control plane node is unreachable, removing the first control plane node from the container-based cluster;

assigning an internet protocol address of the first control plane node to the second control plane node;

broadcasting a gratuitous address resolution protocol message to inform at least the other components in the container-based cluster about the assignment of the internet protocol address of the first control plane node to the second control plane node;

determining a number of inactive control plane nodes associated with the second control plane node and comprising control plane components not actively running on the inactive control plane nodes is less than a minimum number of inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node; and

deploying one or more inactive control plane nodes associated with the second control plane node in the container-based cluster until the minimum number of the inactive control plane nodes that are to be deployed in the container-based cluster for the second control plane node is met.

16 . The non-transitory computer-readable medium of claim 15 , wherein activating the second control plane node previously deployed in the container-based cluster comprises:

activating the second control plane components on the second control plane node; and

activating the second network interface to allow for management of the other components within the container-based cluster by the second control plane components.

17 . The non-transitory computer-readable medium of claim 15 , wherein a witness node determines that the first control plane node is inactive, activates the second control plane node, and deploys the one or more inactive control plane nodes.

18 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

prior to determining the first control plane node is unreachable, configuring the second control plane node such that a second intended state of the container-based cluster indicated by one or more second manifests stored at the second control plane node matches a first intended state of the container-based cluster indicated by one or more first manifests stored at the first control plane node.

19 . The non-transitory computer-readable medium of claim 18 , wherein:

the first control plane node further comprises a third network interface activated at the first control plane node to allow for communication with at least the second control plane node;

the second control plane node further comprises a fourth network interface activated at the second control plane node activated at the second control plane node to allow for communication with at least the first control plane node; and

configuring the second control plane node comprises performing a sync between the first control plane node and the second control plane node via the third network interface and the fourth network interface.

20 . The non-transitory computer-readable medium of claim 15 , wherein determining the first control plane node is unreachable within the container-based cluster comprises:

transmitting a request for a packet response from the first control plane node; and

failing to receive the packet response from the first control plane node.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: JIGALUR, PRADEEP SHANMUKHA; SCHAEFER, CHRISTOPHER JOHN
To: VMWARE, INC.
Reel/Frame 062939/0864 →