IP Library Granted Patent US 11,196,628
Granted Patent B1
US 11,196,628 · App. 17/006,847 · Granted Dec 7, 2021

Monitoring container clusters

Inventors: Jianjun Shen (Redwood City, CA); Wenying Dong (Beijing, CN); Quan Tian (Beijing, CN); Antonin Bas (Palo Alto, CA)
Assignee: VMWARE, INC.
H04L41/0893H04L49/3009
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,196,628
App. No.
17/006,847
Granted
Dec 7, 2021
Kind
B1
Abstract

Some embodiments provide a method that receives a request for flow entries associated with a particular Kubernetes concept. The method identifies flow entries that match the request. For each flow entry that matches the request, the method generates mapping data that maps elements of the flow entry to additional Kubernetes concepts. The method provides the flow entries with the mapping data in response to the request.

Claims (49)

1. A method performed by an agent executing on a particular node of a cluster, the method comprising:

receiving a request for flow entries associated with a particular Kubernetes concept;

identifying flow entries that match the request, the identified flow entries comprising flow entries used by a forwarding element also executing on the particular node along with a plurality of pods connected to the forwarding element, the forwarding element implementing networking and network policy defined for the pods;

for each flow entry that matches the request, generating mapping data that maps elements of the flow entry to additional Kubernetes concepts; and

providing the flow entries with the mapping data in response to the request.

2. The method of claim 1 , wherein the particular node is one of (i) a virtual machine (VM) and (ii) a physical server computer.

3. The method of claim 1 , wherein the agent configures the forwarding element according to configuration data received from a central controller that also provides configuration data to a plurality of other agents executing on other nodes of the cluster.

4. The method of claim 3 , wherein:

the agent receives the request from the central controller; and

the flow entries and mapping data are provided to the central controller.

5. The method of claim 4 , wherein the central controller receives flow entries and mapping data related to the particular Kubernetes concept from a plurality of agents executing on a plurality of nodes of the cluster.

6. The method of claim 1 , wherein the agent receives the request from and provides the flow entries and mapping data to a command line interface utility through which an administrator specifies the request.

7. The method of claim 1 , wherein each respective flow entry comprises (i) a respective set of match conditions and (ii) a respective set of actions to be performed when a data message matches the respective set of match conditions.

8. The method of claim 7 , wherein generating mapping data for a particular flow entry comprises mapping at least one of the match conditions for the particular flow to the particular Kubernetes concept.

9. The method of claim 7 , wherein generating mapping data for a particular flow entry comprises mapping at least one of the match conditions for the particular flow to a particular pod and specifying a name for the particular pod.

10. The method of claim 7 , wherein:

the flow entries are organized into a plurality of tables;

the particular Kubernetes concept is a particular network policy;

identifying flow entries that match the request comprises identifying flow entries in a particular table that corresponds to the particular network policy; and

generating mapping data for a particular flow entry comprises specifying a particular rule of the particular network policy to which the particular flow entry corresponds.

11. The method of claim 7 , wherein:

the flow entries are organized into a plurality of tables;

the received request is for all flow entries associated with any network policy applied to a particular pod;

identifying flow entries that match the request comprises identifying flow entries that are (i) in a particular set of tables that correspond to network policies and (ii) are applied to data messages sent to and from the particular pod; and

generating mapping data for a particular flow entry comprises specifying a particular rule of a particular network policy to which the particular flow entry corresponds.

12. The method of claim 1 , wherein:

the particular Kubernetes concept is a particular pod; and

identifying flow entries that match the request comprises identifying flow entries that are applied to data messages sent to and from the particular pod.

13. A non-transitory machine-readable medium storing an agent for execution by at least one processing unit associated with a particular node of a cluster, the agent comprising sets of instructions for:

receiving a request for flow entries associated with a particular Kubernetes concept;

identifying flow entries that match the request, the identified flow entries comprising flow entries used by a forwarding element also executing on the particular node along with a plurality of pods connected to the forwarding element, the forwarding element implementing networking and network policy defined for the pods;

for each flow entry that matches the request, generating mapping data that maps elements of the flow entry to additional Kubernetes concepts; and

providing the flow entries with the mapping data in response to the request.

14. The non-transitory machine-readable medium of claim 13 , wherein:

the agent further comprises a set of instructions for configuring the forwarding element according to configuration data received from a central controller that also provides configuration data to a plurality of other agents executing on other nodes of the cluster;

the agent receives the request from the central controller and provides the flow entries and mapping data to the central controller; and

the central controller receives flow entries and mapping data related to the particular Kubernetes concept from a plurality of agents executing on a plurality of nodes of the cluster.

15. The non-transitory machine-readable medium of claim 13 , wherein each respective flow entry comprises (i) a respective set of match conditions and (ii) a respective set of actions to be performed when a data message matches the respective set of match conditions.

16. The non-transitory machine-readable medium of claim 15 , wherein the set of instructions for generating mapping data for a particular flow entry comprises a set of instructions for mapping at least one of the match conditions for the particular flow to a particular pod and specifying a name for the particular pod.

17. The non-transitory machine-readable medium of claim 15 , wherein:

the flow entries are organized into a plurality of tables;

the particular Kubernetes concept is a particular network policy;

the set of instructions for identifying flow entries that match the request comprises a set of instructions for identifying flow entries in a particular table that corresponds to the particular network policy; and

the set of instructions for generating mapping data for a particular flow entry comprises a set of instructions for specifying a particular rule of the particular network policy to which the particular flow entry corresponds.

18. The non-transitory machine-readable medium of claim 15 , wherein:

the flow entries are organized into a plurality of tables;

the received request is for all flow entries associated with any network policy applied to a particular pod;

the set of instructions for identifying flow entries that match the request comprises a set of instructions for identifying flow entries that are (i) in a particular set of tables that correspond to network policies and (ii) are applied to data messages sent to and from the particular pod; and

the set of instructions for generating mapping data for a particular flow entry comprises a set of instructions for specifying a particular rule of a particular network policy to which the particular flow entry corresponds.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2020
From: SHEN, JIANJUN; DONG, WENYING; TIAN, QUAN; BAS, ANTONIN
To: VMWARE, INC.
Reel/Frame 053637/0614 →
Cited By (1)
US 12,255,792