Introduction to Ingress Controller Types
Application CLB
Application CLB is a TKE Ingress Controller based on the Tencent Cloud Load Balancer (CLB), which can implement the access of different services in the cluster with different URLs. CLB directly forwards the traffic to a Pod through the NodePort (the traffic is forwarded to a Pod in the CLB-to-Pod direct access mode). One Ingress configuration is bound to one CLB instance (IP), which is suitable for scenarios that only require simple routing management and are insensitive to IP address convergence. For more information, see CLB Type Ingress. Dedicated API Gateway
Dedicated API Gateway is a TKE Ingress Controller based on a dedicated Tencent Cloud API Gateway instance. It is suitable for scenarios where multiple TKE clusters require a unified access layer or the access layer requires authentication and traffic throttling. For more information, see API Gateway Type Ingress. It has the following strengths: API Gateway is directly connected to the Pods of the TKE cluster without any intermediate nodes.
An API Gateway TKE tunnel can connect multiple TKE services at the same time, among which the traffic is distributed based on the weighted round robin algorithm.
Advanced extended capabilities provided by API Gateway can be used, such as authentication, traffic throttling, canary traffic distribution, caching, and downgrade upon circuit breaking.
Supported by a dedicated API Gateway instance, the underlying physical resources of a user are exclusive to the user, with a stable performance and high SLA delivered.
Nginx Ingress Controller
Nginx Ingress Controller is an Ingress controller based on Tencent Cloud CLB and Nginx reverse proxy (containerized deployment in cluster). It extends the features of native Kubernetes Ingress through Annotations, and adds a layer of proxy (nginx) after CLB, which is suitable for scenarios where there are more requirements for access layer routing management and IP address convergence. For more information, see Nginx Type Ingress. Ingress Controllers Comparison
|
Traffic management | Supported protocols | http,https | http,https,http2, grpc | http,https,http2,grpc,tcp,udp |
| IP management | One Ingress rule corresponds to one IP address (CLB). | Multiple Ingress rules correspond to one IP address (dedicated API Gateway), with IP address convergence. | Multiple Ingress rules correspond to one IP address (CLB). IP address convergence is supported. |
| Attribute route | host,URL | More attributes support: header, method, query parameter, and more. | More attributes are supported, such as header and cookie. |
| Traffic behavior | Not supported | Supports redirection, custom requests, and custom responses. | Behaviors such as redirection and rewrite are supported. |
| Region-aware load balancing | Not supported | Not supported. | Not supported. |
Application access addressing | Service discovery | Single Kubernetes cluster. | Multiple Kubernetes clusters | Single Kubernetes cluster. |
Security | SSL configuration | Supported | Supported | Supported |
| Authentication authorization | Not supported | Supported | Supported |
Observability | Monitoring Metric | Supported (View in CLB) | Supported (View in API Gateway) | Supported (cloud-native monitoring) |
| Call tracing | Not supported | Not supported. | Not supported. |
| Add-on Ops | The associated CLB has been managed. You only need to run TKE Ingress Controller in the cluster. | No control plane needs to run in the Kubernetes cluster. Only enable the intra-cluster private network access feature. | You need to run Nginx Ingress Controller in the cluster (control plane + data plane). |