IP Library Granted Patent US 10,992,575
Granted Patent B2
US 10,992,575 · App. 16/263,354 · Granted Apr 27, 2021

Assignment of internet protocol addresses to services

Inventors: Koteswara Rao Kelam (Bangalore Karnataka, IN); Pradeep Sathasivam (Bangalore Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
H04L45/586H04L45/64H04L45/66H04L45/74H04L47/125H04L61/1511H04L61/2007H04L69/169
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 10,992,575
App. No.
16/263,354
Granted
Apr 27, 2021
Kind
B2
Abstract

In an example, a first Internet Protocol (IP) address is assigned to a first service. The first service includes a plurality of pods and is to operate on a first port. A first node on which the first IP address is to be configured is selected from among a plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes. Further, the first IP address is configured on the first node. The first IP address is assigned to a second service as well. The second service comprises a plurality of pods and is to operate on a second port.

Claims (108)

1. A system comprising:

a cluster manager to:

receive a first request for an Internet Protocol (IP) address for a first service, wherein the first service comprises a plurality of pods and is to operate on a first port;

assign a combination of a first IP address and the first port to the first service;

select a first node on which the first IP address is to be configured from among a plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes;

receive a second request for an IP address for a second service, wherein the second service comprises a plurality of pods and is to operate on a second port; and

assign a combination of the first IP address and the second port to the second service; and

the plurality of nodes having the first node, the first node comprising a first configuration manager to:

configure the first IP address on the first node in response to selection of the first node for configuring the first IP address;

create a first set of routing rules usable by the first node to route a service request directed to the first IP address and the first port to a pod of the first service; and

create a second set of routing rules usable by the first node to route a service request directed to the first IP address and the second port to a pod of the second service.

2. The system of claim 1 , wherein

the first request comprises a first sharing identifier,

the second request comprises a second sharing identifier, and

the cluster manager is to assign the combination of the first IP address and the second port to the second service in response to the first sharing identifier matching with the second sharing identifier.

3. The system of claim 1 , wherein, to select the first node to configure the first IP address, the cluster manager is to select a first Virtual Router Identifier (VRID) to which the first IP address is to be mapped from a plurality of VRIDs based on a number of IP addresses mapped to each of the plurality of VRIDs, wherein

the plurality of nodes comprises a first node and a second node,

the first VRID comprises a first VRID instance running on the first node and a first VRID instance running on the second node,

the first VRID instance running on the first node is a master VRID instance of the first VRID, and

the first VRID instance running on the second node is a backup VRID instance of the first VRID.

4. The system of claim 3 , wherein in response to failure of the first node and in response to the first VRID instance running on the second node becoming the master VRID instance of the first VRID, a second configuration manager of the second node is to configure the first IP address on the second node, and

the second node is to:

route service requests directed to the first IP address and the first port among pods of the first service based on the first set of routing rules; and

route service requests directed to the first IP address and the second port among pods of the second service based on the second set of routing rules.

5. The system of claim 4 , wherein

the plurality of nodes further comprises a third node,

the first VRID comprises a first VRID instance running on the third node,

the first VRID instance running on the third node is a backup VRID instance of the first VRID, and

in response to failure of the first node, the first VRID instance running on the second node and the first VRID instance running on the third node are to:

elect the first VRID instance running on the second node as the master VRID instance of the first VRID.

6. The system of claim 1 , wherein

the cluster manager is to:

receive a third request for an IP address from a third service, wherein the third service is to operate on the first port;

assign a combination of a second IP address and the first port to the third service; and

select a second node on which the second IP address is to be configured from among the plurality of nodes based on a number of IP addresses assigned to each of the plurality of nodes; and

the second node comprises a second configuration manager to:

configure the second IP address on the second node.

7. The system of claim 2 , wherein

the cluster manager is to:

receive a third request for an IP address from a third service, wherein the third service is to operate on a third port and wherein the third request comprises a third sharing identifier different from the first sharing identifier;

assign a combination of a second IP address and the third port to the third service; and

select a second node on which the second IP address is to be configured among the plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes; and

the second node comprises a second configuration manager to configure the second IP address on the second node.

8. The system of claim 1 , wherein

the plurality of nodes comprises a second node;

the second node comprises a second configuration manager;

the first node comprises a first IP table;

the second node comprises a second IP table;

the first configuration manager is to add the first set of routing rules and the second set of rules to the first IP table; and

the second configuration manager is to add the first set of routing rules and the second set of routing rules in the second IP table.

9. The system of claim 1 , wherein

the first service is a Domain Name System (DNS) for Transmission Control Protocol (TCP),

the second service is a DNS for User Datagram Protocol (UDP),

the first port is TCP port 53 , and

the second port is UDP port 53 .

10. A method comprising:

receiving a first request for an Internet Protocol (IP) address for a first service, wherein the first request comprises a first sharing identifier, the first service comprises a plurality of pods, and the first service is to operate on a first port;

assigning a combination of a first IP address and the first port to the first service;

selecting a first node on which the first IP address is to be configured from among a plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes;

configuring the first IP address on the first node;

creating a first set of routing rules usable by the first node to route a service request directed to the first IP address and the first port to a pod of the first service;

receiving a second request for an IP address for a second service, wherein the second request comprises a second sharing identifier, the second service comprises a plurality of pods, and the second service is to operate on a second port;

assigning a combination of the first IP address and the second port to the second service in response to the first sharing identifier matching with the second sharing identifier; and

creating a second set of routing rules usable by the first node to route a service request directed to the first IP address and the second port to a pod of the second service.

11. The method of claim 10 , comprising:

routing a first service request directed to the first IP address and the first port to the pod of the first service based on the first set of routing rules; and

routing a second service request directed to the first IP address and the second port to the pod of the second service based on the second set of routing rules.

12. The method of claim 10 , wherein selecting the first node to configure the first IP address comprises selecting a first Virtual Router Identifier (VRID) to which the first IP address is to be mapped from a plurality of VRIDs based on a number of IP addresses mapped to each of the plurality of VRIDs, wherein

the plurality of nodes comprises a first node and a second node,

the first VRID comprises a first VRID instance running on the first node and a first VRID instance running on the second node,

the first VRID instance running on the first node is a master VRID instance of the first VRID, and

the first VRID instance running on the second node is a backup VRID instance of the first VRID.

13. The method of claim 12 , comprising:

selecting the first VRID instance running on the second node as the master VRID instance of the first VRID in response to failure of the first node; and

configuring the first IP address on the second node.

14. The method of claim 10 , wherein

the first service is a Domain Name System (DNS) for Transmission Control Protocol (TCP),

the second service is a DNS for User Datagram Protocol (UDP),

the first port is TCP port 53 , and

the second port is UDP port 53 .

15. A non-transitory computer-readable medium comprising instructions for assignment of internet protocol (IP) addresses to services, the instructions being executable by a processing resource to:

receive a request for an Internet Protocol (IP) address for a first service, wherein the first service comprises a plurality of pods and is to operate on a first port;

assign a first IP address to the first service;

select a first node on which the first IP address is to be configured from among a plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes;

configure the first IP address on the first node;

receive a request for an IP address for a second service, wherein the second service comprises a plurality of pods and is to operate on a second port;

assign the first IP address to the second service;

receive a first service request directed to the first IP address and the first port;

route the first service request to a pod of the first service;

receive a second service request directed to the first IP address and the second port; and

route the second service request to a pod of the second service.

16. The non-transitory computer-readable medium of claim 15 , wherein, the instructions are executable by the processing resource to:

create, in response to configuring the first IP address on the first node and assigning the first IP address to the first service, a first set of routing rules to route service requests directed to the first IP address and the first port among pods of the first service;

utilize the first set of routing rules to route the first service request to the pod of the first service;

create, in response to assigning the first IP address to the second service, a second set of routing rules to route service requests directed to the first IP address and the second port among pods of the second service; and

utilize the second set of routing rules to route the second service request to the pod of the second service.

17. The non-transitory computer-readable medium of claim 15 , wherein, to select the first node to configure the first IP address, the instructions are executable by the processing resource to select a first Virtual Router Identifier (VRID) to which the first IP address is to be mapped from a plurality of VRIDs based on a number of IP addresses mapped to each of the plurality of VRIDs, wherein

the plurality of nodes comprises a first node and a second node,

the first VRID comprises a first VRID instance running on the first node and a first VRID instance running on the second node,

the first VRID instance running on the first node is a master VRID instance of the first VRID, and

the first VRID instance running on the second node is a backup VRID instance of the first VRID.

18. The non-transitory computer-readable medium of claim 17 , wherein, in response to failure of the first node and in response to selection of the first VRID instance running on the second node as the master VRID instance of the first VRID, the instructions are executable by the processing resource to configure the first IP address on the second node.

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

the first service is a Domain Name System (DNS) for Transmission Control Protocol (TCP),

the second service is a DNS for User Datagram Protocol (UDP),

the first port is TCP port 53 , and

the second port is UDP port 53 .

20. The non-transitory computer-readable medium of claim 15 , wherein each of the first service and the second service is a loadbalancer service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: KELAM, KOTESWARA RAO; SATHASIVAM, PRADEEP
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 048204/0598 →
Continuity (1)
Related Publication 20200252335A1 · Aug 6, 2020