IP Library Granted Patent US 11,848,910
Granted Patent B1
US 11,848,910 · App. 18/098,081 · Granted Dec 19, 2023

Assigning stateful pods fixed IP addresses depending on unique pod identity

Inventors: Tao Zou (Beijing, CN); Danting Liu (Beijing, CN); Salvatore Orlando (Naples, IT); Wenfeng Liu (Beijing, CN); Donghai Han (Beijing, CN)
Assignee: VMWARE, INC.
H04L61/5007H04L41/044H04L41/0895
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 11,848,910
App. No.
18/098,081
Granted
Dec 19, 2023
Kind
B1
Abstract

Some embodiments provide a novel method for resiliently associating Internet Protocol (IP) addresses with pods that each have unique identifiers (IDs) in a managed cluster of worker nodes managed by a first set of one or more controllers of the managed cluster. The resilient association between IP addresses and pods is maintained even when pods are moved between worker nodes. At a second set of controllers, the method receives notification regarding deployment, on a first worker node, of a stateful pod associated with a particular ID. The method allocates an IP address to the stateful pod. The method creates a mapping between the IP address and the particular ID in order to maintain the allocation of the IP address to the stateful pod. The method provides the IP address to the first set of controllers to use for the stateful pod.

Claims (46)

1. A method for resiliently associating Internet Protocol (IP) addresses with pods that each have unique identifiers (IDs) in a managed cluster of worker nodes, the managed cluster managed by a first set of one or more controllers of the managed cluster, wherein said resilient association between the IP addresses and the pods is maintained even when pods are moved between worker nodes, the method comprising:

at a controller of a second set of one or more controllers:

receiving notification regarding deployment, on a first worker node of the managed cluster, of a particular stateful pod with a particular ID in the first set of one or more controllers;

allocating a particular IP address to the particular stateful pod;

creating a mapping between the particular IP address and the particular ID in order to maintain the allocation of the particular IP address to the particular stateful pod, such that when the particular stateful pod migrates from the first worker node to a second worker node of the managed cluster, the particular IP address continues to be assigned to the stateful pod; and

providing the particular IP address to the first set of controllers to use for the particular stateful pod.

2. The method of claim 1 , wherein the second set of controllers comprise local controllers deployed in the managed cluster by a third set of controllers operating outside of the managed cluster, the third set of controllers configuring the second set of controllers to perform the receiving, allocating, creating, and providing.

3. The method of claim 2 , wherein the first and second sets of controllers operate at a first site with the managed cluster while the third set of controllers operates at a second site.

4. The method of claim 3 , wherein the first set of controllers is provided by a first vendor while the third set of controllers is provided by a second vendor, the third set of controllers enabling features that are natively deficient in the managed cluster as managed by the first set of controllers.

5. The method of claim 4 , wherein the third set of controllers enables the features through the second set of controllers.

6. The method of claim 2 further comprising:

before receiving notification regarding deployment of the particular stateful pod:

receiving notification regarding deployment of a plurality of stateful pods including the particular stateful pod;

requesting an IP address range from the third set of controllers; and

receiving the IP address range from the third set of controllers.

7. The method of claim 6 , wherein the particular IP address is allocated from the IP address range.

8. The method of claim 7 further comprising sending an Application Programming Interface (API) request to the first set of controllers specifying the plurality of stateful pods and the IP address range.

9. The method of claim 8 , wherein the IP address range is restricted to a subnet configured for a namespace of the plurality of stateful pods.

10. The method of claim 9 , wherein the first set of controllers assigns a unique ID to each stateful pod in the plurality of stateful pods, the unique ID comprising, for each stateful pod, (i) an ordinal index specifying an order of the stateful pod in which it is to be deployed, (ii) a stable network identity specifying a name of the plurality of stateful pods and the ordinal index, and (iii) a stable storage specifying a persistent volume claim of provisioned storage allocated to the stateful pod.

11. The method of claim 10 , wherein each stateful pod is assigned a sequential IP address from the IP address range according to their associated unique ID, such that a first deployed stateful pod is assigned a first IP address from the IP address range and a second deployed stateful pod is assigned a subsequent, second IP address from the IP address range.

12. The method of claim 1 , wherein the notification is a first notification, the method further comprising:

receiving a second notification that the particular pod has migrated from the first worker node to the second worker node; and

providing to the first set of controllers the particular IP address.

13. The method of claim 1 , wherein the notification is a first notification, the method further comprising:

receiving a second notification that the particular pod has failed and restarted on the first worker node; and

providing to the first set of controllers the particular IP address.

14. The method of claim 1 , wherein providing the particular IP address to the first set of controllers comprises providing the particular IP address to the first set of controllers for the first set of controllers to define one or more service policies to enforce on data messages associated with the particular stateful pod.

15. A non-transitory machine readable medium storing a program for execution by at least one processing unit for resiliently associating Internet Protocol (IP) addresses with pods that each have unique identifiers (IDs) in a managed cluster of worker nodes, the managed cluster managed by a first set of one or more controllers of the managed cluster, wherein said resilient association between the IP addresses and the pods is maintained even when pods are moved between worker nodes, the program comprising sets of instructions for:

at a controller of a second set of one or more controllers:

receiving notification regarding deployment, on a first worker node of the managed cluster, of a particular stateful pod with a particular ID in the first set of one or more controllers;

allocating a particular IP address to the particular stateful pod;

creating a mapping between the particular IP address and the particular ID in order to maintain the allocation of the particular IP address to the particular stateful pod, such that when the particular stateful pod migrates from the first worker node to a second worker node of the managed cluster, the particular IP address continues to be assigned to the stateful pod; and

providing the particular IP address to the first set of controllers to use for the particular stateful pod.

16. The non-transitory machine readable medium of claim 15 , wherein the second set of controllers comprise local controllers deployed in the managed cluster by a third set of controllers operating outside of the managed cluster, the third set of controllers configuring the second set of controllers to perform the receiving, allocating, creating, and providing.

17. The non-transitory machine readable medium of claim 16 , wherein the program comprises further instructions for:

before receiving notification regarding deployment of the particular stateful pod:

receiving notification regarding deployment of a plurality of stateful pods including the particular stateful pod;

requesting an IP address range from the third set of controllers; and

receiving the IP address range from the third set of controllers.

18. The non-transitory machine readable medium of claim 17 , wherein the particular IP address is allocated from the IP address range.

19. The non-transitory machine readable medium of claim 15 , wherein the notification is a first notification, the program comprising further instructions for:

receiving a second notification that the particular pod has migrated from the first worker node to the second worker node; and

providing to the first set of controllers the particular IP address.

20. The non-transitory machine readable medium of claim 15 , wherein the notification is a first notification, the program comprising further instructions for:

receiving a second notification that the particular pod has failed and restarted on the first worker node; and

providing to the first set of controllers the particular IP address.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2023
From: ZOU, TAO; LIU, DANTING; ORLANDO, SALVATORE; LIU, WENFENG; HAN, DONGHAI
To: VMWARE, INC.
Reel/Frame 063180/0477 →
Cited By (2)
US 12,619,497 US 12,671,672