US 11,948,014 B2
Multi-tenant control plane management on computing platform
Daniel Veritas Smith, Sunnyvale, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Dec. 15, 2020, as Appl. No. 17/122,177.
Prior Publication US 2022/0188170 A1, Jun. 16, 2022
Int. Cl. G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01)
CPC G06F 9/5072 (2013.01) [G06F 9/485 (2013.01); G06F 9/5077 (2013.01); G06F 9/547 (2013.01); G06F 2209/505 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
one or more storage devices in communication with the one or more processors, the one or more storage devices storing instructions, when executed by the one or processors, cause the one or more processors to perform operations comprising:
maintaining a plurality of cluster control planes, each cluster control plane comprising one or more respective instances of software of an Application Programming Interface (API) server, wherein each cluster control plane is configured to receive API requests and to process the API requests using the respective one or more instances of the API server, the respective one or more instances of the API server being executed as one or more respective threads;
receiving an API request to modify or read a state for a cluster of computing resources of a computing platform, the cluster of computing resources corresponding to a tenant identified in the API request; and
in response to receiving the API request:
identifying a cluster control plane of the plurality of cluster control planes that controls the cluster of computing resources corresponding to the API request,
determining whether the identified cluster control plane is active for the tenant identified in the API request,
causing the identified cluster control plane to modify or read the state of the cluster in accordance with the API request when the identified cluster control plane is determined to be active, and
spawning an operating system thread that executes one or more software threads to modify or read the state of the cluster in accordance with the API request when the identified cluster control plane is determined to be inactive.