A Kubernetes Ingress Gateway is an implementation of the Kubernetes Gateway API. The Gateway API is a successor of the Kubernetes Ingress API. It serves as an entry point for incoming traffic into a Kubernetes cluster and provides additional features beyond what a standard Kubernetes Ingress offers.
Key Characteristics a Kubernetes Ingress Gateway
- Advanced Routing: It supports more sophisticated routing capabilities
- Path-based Routing: Directing traffic to different services based on URL paths.
- Header-based Routing: Routing decisions based on HTTP headers, enabling more granular control over traffic.
- Traffic Splitting: Diverting a percentage of traffic to different versions of a service (canary deployments).
- URL Rewriting: Modifying URL paths before forwarding requests to backend services.
- Protocol Support: Ingress Gateways can handle a variety of protocols beyond just HTTP and HTTPS. This includes TCP, UDP, and potentially other custom protocols, making them more versatile in diverse application environments.
- Security Features: Security is a critical aspect of Ingress Gateways. They often include:
- SSL/TLS Termination: Decrypting incoming HTTPS traffic before forwarding it to backend services.
- Web Application Firewall (WAF): Filtering and blocking malicious traffic based on predefined rules.
- Rate Limiting: Throttling requests to prevent abuse and ensure service availability.
- Authentication and Authorization: Implementing mechanisms like JWT validation, OAuth, or client certificate authentication.
- Observability: Ingress Gateways provide comprehensive metrics and logging capabilities. This allows operators to monitor traffic patterns, diagnose issues, and optimize performance effectively.
- Integration with Service Meshes: Many Ingress Gateways can integrate with service meshes like Istio, which enhances their capabilities with additional traffic management and security policies, such as mutual TLS (mTLS) and circuit breaking.
- Scalability and Performance: They are designed to handle high volumes of traffic efficiently, often leveraging load balancing algorithms and scaling mechanisms to ensure optimal performance.
To learn more about how to use Tetrate as an ingress gateway for your clusters, read more here.