Learning - Gateway
In Wikipedia, the definition of gateway is like this: Gateway is the “gateway” between one network and another network. Similarly, the application gateway is the gateway through which external traffic flows into the application in Kato. It can also be said that it is a “gateway” between north-south traffic and south-bound traffic. All components deployed to Kato need to pass through the application gateway if they need to be accessed externally.
The Role of Application Gateways
Before introducing the role of the application gateway, first? Need to mention Ingress. Ingress is one of Kubernetes resource types. It defines the specification of routing strategies from outside the cluster to services in the cluster. Note that Kubernetes does not provide the implementation of these policy routing.
The role of the application gateway is to implement the various strategies defined in Ingress. In addition to HTTP and HTTPs routing, the application gateway also provides other rich functions. Currently supported functions are:
- HTTP and HTTPs strategy
- TCP/UDP strategy
- Pan-domain strategy
- Multiple load balancing algorithms
- Advanced routing: access control based on access path, request header, cookie, weight
- Service and domain name access monitoring
The strategy is mainly composed of two parts, routing rules and routing targets. The routing targets can be each port of all components. The routing rules have the following categories according to different protocols:
HTTP strategy According to the HTTP protocol specification, the routing conditions supported by the HTTP strategy include
HTTPS, and the same routing condition supports the definition of different weight values. The open source version of the load balancing algorithm supports polling algorithms, and the enterprise version supports the expansion of multiple load balancing algorithms.
TCP/UDP strategy According to the TCP/UDP protocol specification, the routing conditions supported by the TCP/UDP strategy include
port, and the open source version of the load balancing algorithm supports polling algorithms.