Envoy Gateway
Overview
Envoy Gateway is XKS's implementation of the Kubernetes Gateway API, providing a powerful and performant ingress solution built on Envoy Proxy. Envoy Gateway combines the maturity and capabilities of Envoy with a Kubernetes-native control plane designed specifically for the Gateway API.
Why Envoy Gateway?
Modern Cloud-Native Architecture
Envoy Proxy was designed from the ground up for cloud-native environments:
- Dynamic Configuration: Updates configuration without reloading or dropping connections, ensuring zero-downtime changes
- API-Driven: Controlled via xDS (Discovery Service) APIs, enabling sophisticated runtime traffic management
- High Performance: Optimized for high-throughput, low-latency scenarios with efficient resource utilization
- Battle-Tested: Powers major platforms including AWS App Mesh, Google Traffic Director, and is the data plane for most service meshes
Native Gateway API Support
Envoy Gateway is purpose-built to implement the Gateway API specification:
- First-Class Support: All Gateway API resources map directly to Envoy's native capabilities
- Clean Architecture: Clear separation between control plane (Envoy Gateway) and data plane (Envoy Proxy)
- Specification Compliance: Regular updates aligned with Gateway API releases and standards
- No Translation Layer: Features work natively without annotation-based workarounds
Advanced Traffic Management
Envoy provides sophisticated Layer 7 capabilities out of the box:
- Circuit Breaking: Protect services from cascading failures with configurable thresholds
- Intelligent Retries: Fine-grained retry policies with exponential backoff and budget controls
- Load Balancing: Multiple algorithms including round-robin, least request, ring hash, and maglev
- Health Checking: Active and passive health checks with customizable intervals and thresholds
- Rate Limiting: Both local (per-instance) and global (distributed) rate limiting strategies
Superior Observability
Observability is built into Envoy's core, not bolted on:
- Rich Metrics: Detailed statistics for requests, connections, clusters, and more via Prometheus
- Distributed Tracing: Native support for Jaeger, Zipkin, and OpenTelemetry
- Structured Logging: Comprehensive access logs with customizable formats
- Admin Interface: Real-time debugging and configuration inspection via HTTP API
Service Mesh Integration
Envoy is the data plane of choice for major service mesh implementations:
- Istio: Uses Envoy for both ingress gateways and service mesh
- Linkerd: Supports Envoy as an alternative data plane
- Consul Connect: Uses Envoy for service-to-service communication
- AWS App Mesh: Built entirely on Envoy
Using Envoy Gateway provides a unified architecture if you adopt a service mesh in the future.
Extensibility
Envoy's filter architecture enables powerful extensions:
- WASM Filters: Write custom logic in multiple languages (Rust, Go, C++, AssemblyScript)
- External Authorization: Integrate with external auth services via gRPC/HTTP
- Custom Filters: Native Envoy filters for advanced use cases
- Rate Limit Service: Pluggable external rate limiting service
Architecture
Envoy Gateway consists of two main components:
Control Plane
The Envoy Gateway control plane:
- Watches Gateway API resources (Gateway, HTTPRoute, etc.)
- Translates them into Envoy xDS configuration
- Manages Envoy Proxy deployments
- Handles certificate lifecycle via integration with Cert Manager
Data Plane
The Envoy Proxy data plane:
- Receives dynamic configuration from the control plane
- Routes and processes traffic based on configuration
- Reports metrics and traces
- Performs health checking and load balancing
Configuration
BackendTrafficPolicy
BackendTrafficPolicy configures how traffic is handled between the Gateway and backend services.