IP Library Granted Patent US 11,853,816
Granted Patent B2
US 11,853,816 · App. 18/151,637 · Granted Dec 26, 2023

Extending the Kubernetes API in-process

Inventors: Markus Thoemmes (Grasbrunn, DE); Francesco Guardiani (Milan, IT)
Assignee: Red Hat, Inc.
G06F9/542G06F9/5011G06F9/547
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,853,816
App. No.
18/151,637
Granted
Dec 26, 2023
Kind
B2
Abstract

Systems and methods for extending a container orchestration engine API in-process are disclosed. The method includes compiling each of one or more custom resource definition (CRD) controllers that are created in a cluster at run-time into a respective isolation module to generate one or more isolation modules, wherein the one or more isolation modules are all hosted in a service. The method also includes, in response to detecting an API event serviced by a CRD controller of the one or more CRD controllers, executing a respective isolation module of the CRD controller.

Claims (36)

1. A method comprising:

compiling, by a processing device, each of one or more custom resource definition (CRD) controllers that are created in a cluster at run-time into a respective isolation module to generate one or more isolation modules, wherein the one or more isolation modules are all hosted in a service; and

in response to detecting an API event serviced by a CRD controller of the one or more CRD controllers, executing a respective isolation module of the CRD controller.

2. The method of claim 1 , further comprising:

updating an informer with controller metadata of each of the one or more CRD controllers, wherein the informer performs the monitoring for API events serviced by each of the one or more CRD controllers based on the controller metadata of each of the one or more CRD controllers.

3. The method of claim 2 , further comprising:

in response to detecting an API event serviced by a CRD controller of the one or more CRD controllers, transmitting an indication of the CRD controller to an isolation module interface, wherein the isolation module interface executes the respective isolation module of the CRD controller using a set of APIs that facilitate input/output operations between each of the one or more isolation modules and the service.

4. The method of claim 1 , wherein each of the one or more isolation modules are isolated from the service.

5. The method of claim 1 , wherein the service comprises a controller-manager service executing on a control plane of a container orchestration engine.

6. The method of claim 1 , wherein the service comprises a service that is separate from a controller-manager service executing on a control plane of a container orchestration engine.

7. The method of claim 1 , further comprising:

monitoring resource consumption of a pod on which the one or more isolation modules are hosted using a vertical autoscaler; and

in response to determining that additional resources are needed, allocating additional resources to the pod.

8. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, the processing device to:

in response to creation of a CRD controller, compile the CRD controller into a respective isolation module, the respective isolation module hosted on a service along with one or more other isolation modules; and

in response to detecting an API event serviced by the CRD controller, executing, by an isolation module interface, the respective isolation module of the CRD controller to transition the CRD controller from an inactive state to an active state.

9. The system of claim 8 , wherein the controller metadata of the CRD controller indicates API events serviced by the CRD controller.

10. The system of claim 9 , wherein the processing device is further to:

in response to detecting an API event serviced by the CRD controller, transmit an indication of the CRD controller to the isolation module interface, wherein the isolation module interface executes the respective isolation module of the CRD controller using a set of APIs that facilitate input/output operations between the isolation module and the service.

11. The system of claim 8 , wherein the isolation module isolates the CRD controller from the service.

12. The system of claim 8 , wherein the service comprises a controller-manager service executing on a control plane of a container orchestration engine.

13. The system of claim 8 , wherein the isolation module comprises a web assembly module (WASM).

14. The system of claim 8 , wherein the processing device is further to:

monitor resource consumption of a pod on which the isolation modules are hosted using a vertical autoscaler; and

in response to determining that additional resources are needed, allocate additional resources to the pod.

15. A non-transitory computer readable medium, having instructions stored thereon which, when executed by a processing device, cause the processing device to:

in response to creation of a CRD controller, compile, by the processing device, the CRD controller into a respective isolation module, the respective isolation module hosted on a service along with one or more other isolation modules; and

update an informer of the service with controller metadata of the CRD controller, the informer to monitor for application program interface (API) events serviced by the CRD controller based on the controller metadata.

16. The non-transitory computer readable medium of claim 15 , wherein the controller metadata of the CRD controller indicates API events serviced by the CRD controller.

17. The non-transitory computer readable medium of claim 16 , wherein the processing device is further to:

in response to detecting an API event serviced by the CRD controller, transmit an indication of the CRD controller to an isolation module interface, wherein the isolation module interface executes the respective isolation module of the CRD controller using a set of APIs that facilitate input/output operations between the isolation module and the service.

18. The non-transitory computer readable medium of claim 17 , wherein the isolation module isolates the CRD controller from the service.

19. The non-transitory computer readable medium of claim 17 , wherein the service comprises a controller-manager service executing on a control plane of a container orchestration engine.

20. The non-transitory computer readable medium of claim 17 , wherein the isolation module comprises a web assembly module (WASM).

Assignments (3)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: THOEMMES, MARKUS; GUARDIANI, FRANCESCO
To: RED HAT, INC.
Reel/Frame 065618/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: THOEMMES, MARKUS; GUARDIANI, FRANCESCO
To: RED HAT, INC.
Reel/Frame 065510/0898 →