Multiple virtual network interface support for virtual execution elements
First Claim
1. A computing device comprising:
- processing circuitry coupled to a memory device;
a network module configured for execution by the processing circuitry;
a virtual router configured for execution by the processing circuitry;
a virtual router agent for the virtual router, the virtual router agent configured for execution by the processing circuitry;
an orchestration agent configured for execution by the processing circuitry, wherein the orchestration agent is an agent of an orchestrator for a computing infrastructure that includes the computing device, wherein the orchestration agent is configured to;
instantiate a virtual execution element; and
invoke the network module,wherein the network module is configured to request, from the virtual router agent, based at least on an identifier for the virtual execution element, identifiers of virtual network interfaces for the virtual execution element,wherein the virtual router agent is configured to receive, from a network controller for the computing infrastructure, in association with the identifier for the virtual execution element, an identifier of a first virtual network interface for a first virtual network and an identifier of a second virtual network interface for a second virtual network,wherein the network module is configured to;
receive, from the virtual router agent in response to the request, the identifier of the first virtual network interface for the first virtual network and an identifier of the second virtual network interface for the second virtual network; and
attach the first virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the first virtual network; and
attach the second virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the second virtual network.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for creating multiple virtual network interfaces usable by a logically-related group of one or more containers (“pod”) for communicating on respective virtual networks of a network infrastructure. In some examples, a control flow for pod network interface configuration on a host includes obtaining, by a CNI instance, a list of multiple virtual network interfaces from an agent of a network controller that is executing on the host. The single CNI instance processes the list of multiple virtual network interfaces to create corresponding virtual network interfaces for the pod and, for each of the virtual network interfaces, to attach the virtual network interface to the pod and to the virtual router or bridge for the host. In this way, the single CNI enables packetized communications by containers of the pod over multiple networks using the multiple virtual network interfaces configured for the pod.
61 Citations
19 Claims
-
1. A computing device comprising:
-
processing circuitry coupled to a memory device; a network module configured for execution by the processing circuitry; a virtual router configured for execution by the processing circuitry; a virtual router agent for the virtual router, the virtual router agent configured for execution by the processing circuitry; an orchestration agent configured for execution by the processing circuitry, wherein the orchestration agent is an agent of an orchestrator for a computing infrastructure that includes the computing device, wherein the orchestration agent is configured to; instantiate a virtual execution element; and invoke the network module, wherein the network module is configured to request, from the virtual router agent, based at least on an identifier for the virtual execution element, identifiers of virtual network interfaces for the virtual execution element, wherein the virtual router agent is configured to receive, from a network controller for the computing infrastructure, in association with the identifier for the virtual execution element, an identifier of a first virtual network interface for a first virtual network and an identifier of a second virtual network interface for a second virtual network, wherein the network module is configured to; receive, from the virtual router agent in response to the request, the identifier of the first virtual network interface for the first virtual network and an identifier of the second virtual network interface for the second virtual network; and attach the first virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the first virtual network; and attach the second virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the second virtual network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A controller comprising one or more computing devices interconnected by a physical network, wherein each of the computing devices comprises processing circuitry coupled to a memory device, wherein the controller further comprises:
-
an orchestrator for a virtualized computing infrastructure, wherein the orchestrator is configured for execution by the processing circuitry, wherein the orchestrator is configured to; send, to a network controller manager for a network controller, a request to create, for a virtual execution element to be instantiated in a computing device of the virtualized computing infrastructure, respective virtual network interfaces for a first virtual network and a second virtual network; and the network controller, wherein the network controller is configured for execution by the processing circuitry; the network controller manager for the network controller, wherein the network controller manager is configured for execution by the processing circuitry, wherein the network controller manger is configured to; allocate a virtual network address for a first virtual network interface for the first virtual network; allocate a virtual network address for a second virtual network interface for the second virtual network; direct the network controller to configure the first virtual network interface with the virtual network address for the first virtual network interface; and direct the network controller to configure the second virtual network interface with the virtual network address for the second virtual network interface, wherein the network controller is configured to; send, to the computing device, interface configuration data to configure, for the virtual execution element, the first virtual network interface for the first virtual network and the second virtual network interface for the second virtual network, wherein the interface configuration data includes an identifier of the first virtual network interface for the first virtual network and an identifier of the second virtual network interface for the second virtual network. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method comprising:
-
sending, by an orchestrator for a virtualized computing infrastructure to a network controller for the virtualized computing infrastructure, a request to create, for a virtual execution element to be instantiated in a computing device of the virtualized computing infrastructure, respective virtual network interfaces for a first virtual network and a second virtual network; sending, by the network controller to a virtual router agent for a virtual router of the computing device, interface configuration data to configure a first virtual network interface for the first virtual network and a second virtual network interface for the second virtual network, wherein the interface configuration data includes, in association with an identifier for the virtual execution element, an identifier of the first virtual network interface for the first virtual network and an identifier of the second virtual network interface for the second virtual network; and sending, by the orchestrator to an orchestration agent of the computing device, the identifier for the virtual execution element to cause the orchestration agent to instantiate the virtual execution element and invoke a network module to query, based on the identifier for the virtual execution element, the virtual router agent for virtual network interfaces for the virtual execution element to obtain the identifier of the first virtual network interface for the first virtual network and the identifier of the second virtual network interface for the second virtual network. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification