Network containers
AssigneePaypal, Inc.
InventorSharad Murthy
Life of this patent
Estimating the term…
Abstract
The systems and methods that maintain an IP address of a container when the container is moved from a first node to a second node in a data center are provided. Each node includes a local controller which is communicatively coupled to the central controller. The local controller generates an IP address for a container that executes on the first node. A label unique to the container is also generated on the first node. The local controller then synchronizes the IP address and the label of the container with the central controller. The central controller then passes the IP address and the label to the second node when the container is moved from the first node to the second node, and ensures that the IP address of the container remains the same before and after the move.
Claims19
A system, comprising:
- a non-transitory memory storing instructions;
- and
- one or more hardware processors coupled to the non-transitory memory and configured to read the instructions from the non-transitory memory to cause the system to perform operations comprising:
- generating, on a first node in a plurality of nodes in a data center, a container, wherein the container is operable to execute at least one application on the first node;
- assigning an Internet Protocol (IP) address to the container;
- generating a label that includes a container identifier and a specification for the container, wherein the label is unique to the container and is associated with the IP address of the container and the specification identifies a network associated with the container and a service provided by the container;
- storing the label and the IP address of the container within a control plane of the data center and at the first node, wherein the control plane is operable to store a plurality of labels from a plurality of containers executing on the plurality of nodes in the data center and the first node is operable to store a plurality of labels from a plurality of containers executing on the first node;
- and
- moving the container from the first node to a second node in the plurality of nodes, while using the label to preserve the IP address of the container assigned at the first node, wherein the moving further comprises:
- generating an instance of the container on the second node;
- determining, using the label and the IP address stored at the first node and at the control plane, that the container is removed from the first node;
- and
- subsequent to the determining, assigning the label and the IP address to the instance of the container generated on the second node.
A method, comprising:
- assigning an Internet Protocol (IP) address to a container at a first node in a plurality of nodes of a data center, wherein the container is operable to execute an application on the first node;
- generating a label that includes a container identifier and a specification for the container, wherein the label is unique to the container and is associated with the IP address of the container and the specification identifies a network associated with the container and a service provided by the container;
- storing the label and the IP address of the container within a control plane of the data center and at the first node, wherein the control plane is operable to store a plurality of labels from a plurality of containers executing on the plurality of nodes in the data center and the first node is operable to store a plurality of labels from a plurality of containers executing on the first node;
- and
- moving the container from the first node to a second node in the plurality of nodes, while preserving with the label the IP address of the container assigned at the first node, wherein the moving further comprises:
- requesting for the control plane to assign the label to an instance of the container on the second node;
- determining, using the label stored within the control plane, that the container is associated with the first node;
- and
- querying the first node whether the first node is using the container.
A system, comprising:
- a non-transitory memory storing instructions;
- and
- one or more hardware processors coupled to the non-transitory memory and configured to read the instructions from the non-transitory memory to cause the system to perform operations comprising:
- receiving, at a central controller of a data center, a label for a container generated on a first node in a plurality of nodes of the data center, wherein the label is unique to the container and is associated with an IP address assigned to the container at the first node;
- storing the label with a plurality of labels associated with the first node;
- receiving, from a second node of the plurality of nodes, a request to assign the IP address for the label associated with the container to a second container generated on the second node, wherein the container of the first node and the second container of the second node are operable to execute different instances of an application;
- determining that the label is associated with the container of the first node;
- communicating with the first node, wherein the communicating determines whether the container has been removed from the first node;
- and
- based on the communicating, assigning the label and the IP address to the second container generated on the second node.
Dependencies are inferred from the claim text.