# US 12,596,567 B2 · High availability control plane node for container-based clusters

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,596,567 B2
- Document ID: US12596567B2
- Status: Granted
- Kind: B2
- Application number: 18/119,849
- Filed: 2023-03-10
- Published: 2024-07-11
- Granted: 2026-04-07
- Earliest claimed: 2023-01-06
- Assignees: VMware, Inc.
- Applicants: Vmware, Inc.
- Inventors: Pradeep Shanmukha Jigalur; Christopher John Schaefer
- Web page: https://patentgrep.com/patent/US12596567B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 18)

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.

### Claim 20 (depends on 15)

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.
