Multi-cluster Ingress

JP7679446B2Active Publication Date: 2025-05-19GOOGLE LLC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023218014
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-04-01
Filing Date
2023-12-25
Publication Date
2025-05-19
Estimated Expiration
2039-11-21

Smart Images

  • Figure 0007679446000001
    Figure 0007679446000001
  • Figure 0007679446000002
    Figure 0007679446000002
  • Figure 0007679446000003
    Figure 0007679446000003
Patent Text Reader

Abstract

To load balance application requests.SOLUTION: In a system 100, a multi-cluster load balancer 130 receives a load-balancing configuration 132 for a multi-cluster service 210 managing access to a set of destination clusters 120 hosting a software application 124 deployed by a user. The multi-cluster service uses the load-balancing configuration to load balance application level traffic across the set of destination clusters. Each destination cluster includes at least one container executing the software application, and a respective geographical region 121. The destination cluster receives an application level request 30 directed toward the hosted software application from a client 10. The application level request includes a host name 32 and a geographical location 34 associated with the client.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Claims

1. 1. A computer-implemented method that, when executed by data processing hardware, causes the data processing hardware to perform operations, the operations comprising: receiving, via a load balancer of a distributed system, an application level request directed to a software application hosted on a plurality of regional zones of the distributed system, each of the plurality of regional zones including a corresponding cluster defining a respective group of nodes, the corresponding cluster including a plurality of container pods that execute the software application, the operation further comprising: routing, via the load balancer, the application level requests to the respective node groups of the corresponding clusters in a particular geographic zone of the plurality of geographic zones based on geographic location; determining, via the load balancer and based on the dynamic capacity of the corresponding cluster, that the plurality of container pods executing the software application of the corresponding cluster in the particular geographic zone are over-capable of satisfying a traffic load associated with the application level request routed to the respective node group of the corresponding cluster in the particular geographic zone; based on determining that the plurality of container pods executing the software application of the corresponding cluster of the particular geographic zone exceed the ability to satisfy the traffic load associated with the application level request routed to the respective node group of the corresponding cluster of the particular geographic zone, scaling the respective node group of the corresponding cluster of the particular geographic zone by removing one or more container pods of the plurality of container pods of the corresponding cluster of the particular geographic zone to a number required to support the traffic load associated with the application level request; and after scaling the respective node groups of the corresponding cluster in the particular regional zone, updating, at the load balancer, the dynamic capacity of the corresponding cluster based on a number of remaining container pods in the corresponding cluster.

2. 2. The method of claim 1, wherein the operations further include routing, via the load balancer, the application-level request to the respective group of nodes of the corresponding cluster in one of the plurality of regional zones based on the software application associated with the application-level request.

3. 3. The method of claim 1, wherein routing the application-level requests to the respective node groups of the corresponding clusters of the particular geographical zone comprises load balancing the application-level requests among the plurality of geographical zones.

4. The method of any one of claims 1 to 3, wherein the geographic location is associated with the application level request.

5. The method of any one of claims 1 to 4, wherein each respective node group is centrally managed by a multi-cluster service.

6. The method of any one of claims 1 to 5, wherein the respective node groups include a respective Internet Protocol (IP) address and a respective port for distributing application level traffic directly to the one or more container pods of the plurality of container pods.

7. The method of any one of claims 1 to 6, wherein the application level request comprises a HyperText Transfer Protocol (HTTP) request.

8. The method of any one of claims 1 to 7, wherein the application level request includes a HyperText Transfer Protocol Secure (HTTPS) request.

9. The method of any one of claims 1 to 8, wherein the application level request includes a Transport Layer Security (TLS) protocol.

10. The method of any one of claims 1 to 9, wherein each cluster includes individualized load balancing attributes.

11. 1. A system comprising: Data processing hardware; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations, the operations including: receiving, via a load balancer of a distributed system, an application level request directed to a software application hosted on a plurality of regional zones of the distributed system, each of the plurality of regional zones including a corresponding cluster defining a respective group of nodes, the corresponding cluster including a plurality of container pods that execute the software application, the operation further comprising: routing, via the load balancer, the application level requests to the respective node groups of the corresponding clusters in a particular geographic zone of the plurality of geographic zones based on geographic location; determining, via the load balancer and based on the dynamic capacity of the corresponding cluster, that the plurality of container pods executing the software application of the corresponding cluster in the particular geographic zone are over-capable of satisfying a traffic load associated with the application level request routed to the respective node group of the corresponding cluster in the particular geographic zone; based on determining that the plurality of container pods executing the software application of the corresponding cluster of the particular geographic zone exceed the ability to satisfy the traffic load associated with the application level request routed to the respective node group of the corresponding cluster of the particular geographic zone, scaling the respective node group of the corresponding cluster of the particular geographic zone by removing one or more container pods of the plurality of container pods of the corresponding cluster of the particular geographic zone to a number required to support the traffic load associated with the application level request; and after scaling the respective node groups of the corresponding cluster in the particular regional zone, updating, at the load balancer, the dynamic capacity of the corresponding cluster based on a number of remaining container pods in the corresponding cluster.

12. 12. The system of claim 11, wherein the operations further include routing, via the load balancer, the application-level request to the respective group of nodes of the corresponding cluster in one of the plurality of regional zones based on the software application associated with the application-level request.

13. 13. The system of claim 11 or 12, wherein routing the application-level requests to the respective node groups of the corresponding clusters of the particular geographical zone comprises load balancing the application-level requests among the plurality of geographical zones.

14. The system of any one of claims 11 to 13, wherein the geographic location is associated with the application level request.

15. The system of any one of claims 11 to 14, wherein each respective node group is centrally managed by a multi-cluster service.

16. The system of any one of claims 11 to 15, wherein each of the node groups includes a respective Internet Protocol (IP) address and a respective port for distributing application level traffic directly to the one or more container pods of the plurality of container pods.

17. The system of any one of claims 11 to 16, wherein the application level request comprises a HyperText Transfer Protocol (HTTP) request.

18. The system of any one of claims 11 to 17, wherein the application level request includes a HyperText Transfer Protocol Secure (HTTPS).

19. The system of any one of claims 11 to 18, wherein the application level request includes a Transport Layer Security (TLS) protocol.

20. The system of any one of claims 11 to 19, wherein each cluster includes individualized load balancing attributes.

21. A program for causing a computer to execute the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Information processing device, and information processing system

    JP2008299617A

  • Web service system, server management device, and web service providing method

    JP2012173835A

  • Image processing apparatus, control method, and program

    JP2017170826A

  • System and method for partition migration in a multi-tenant application server environment

    JP2017519309A

  • Capacity scaling of network resources

    US20180219955A1