Envoy
A high-performance proxy for cloud-native applications
このページはまだ日本語に翻訳されていません。原文(英語)を表示しています。
Envoy is a high-performance, extensible proxy built for cloud-native applications. It operates at both Layer 3/4 and Layer 7, handling load balancing, service discovery, retries, circuit breaking, and observability for the traffic flowing through it — and it’s the data-plane proxy underneath most modern service meshes and API gateways.
How it works
Envoy is typically deployed as a sidecar alongside each application instance, or as a standalone edge proxy. It’s configured dynamically through a set of discovery APIs (collectively “xDS”) — a control plane pushes configuration for listeners, routes, clusters, and endpoints, and Envoy applies it without restarting. This separation of a fast, general-purpose data plane from a pluggable control plane is what lets tools like Istio build a full service mesh on top of Envoy.
Core concepts
- Listener — a named network location (an IP and port) Envoy accepts connections on.
- Route — configuration that matches incoming requests and decides which upstream cluster handles them.
- Cluster — a group of upstream endpoints Envoy can load-balance traffic across, along with health-checking and connection-pool settings.
- xDS APIs — the family of discovery protocols (LDS, RDS, CDS, EDS, and others) a control plane uses to push configuration to Envoy dynamically.
Why teams adopt Envoy
- Rich Layer 7 features. Native support for HTTP/2, gRPC, retries, timeouts, circuit breaking, and fine-grained traffic splitting.
- Deep observability. Detailed metrics, logging, and distributed tracing are built in, not bolted on.
- Dynamic configuration. Routing and endpoint changes apply without restarting or dropping connections.
- The common substrate. It underlies Istio, several API gateways, and many managed ingress controllers, so skills transfer across tools.
Getting started
Envoy is rarely run standalone in a Kubernetes context — most teams meet it as the sidecar proxy in a service mesh like Istio, or as the engine behind an ingress controller or API gateway. The guides below cover configuring Envoy in those common contexts.