Emissary-Ingress is an open-source Kubernetes-native API Gateway + Layer 7 load balancer + Kubernetes Ingress built on Envoy Proxy. Emissary-ingress is a CNCF incubation project (and was formerly known as Ambassador API Gateway).
Emissary-ingress enables its users to:
- Manage ingress traffic with load balancing, support for multiple protocols (gRPC and HTTP/2, TCP, and web sockets), and Kubernetes integration
- Manage changes to routing with an easy to use declarative policy engine and self-service configuration, via Kubernetes CRDs or annotations
- Secure microservices with authentication, rate limiting, and TLS
- Ensure high availability with sticky sessions, rate limiting, and circuit breaking
- Leverage observability with integrations with Grafana, Prometheus, and Datadog, and comprehensive metrics support
- Enable progressive delivery with canary releases
- Connect service meshes including Consul, Linkerd, and Istio
- Knative serverless integration
See the full list of features here.
(If you are looking at this list on a branch other than
may be out of date.)
master- branch for Emissary-ingress 3.3.z work (
release/v3.3- branch for Emissary-ingress 3.3.z work
release/v2.5- branch for Emissary-ingress 2.5.z work (
release/v1.14- branch for Emissary-ingress 1.14.z work (
✔️maintenance, supported through September 2022)
Emissary is configured via Kubernetes CRDs, or via annotations on Kubernetes
it uses the [Envoy Proxy] to actually handle routing data; externally, it relies on Kubernetes for
scaling and resiliency. For more on Emissary's architecture and motivation, read this blog post.
You can get Emissary up and running in just three steps. Follow the instructions here: https://www.getambassador.io/docs/emissary/latest/tutorials/getting-started/
If you are looking for a Kubernetes ingress controller, Emissary provides a superset of the functionality of a typical ingress controller. (It does the traditional routing, and layers on a raft of configuration options.) This blog post covers Kubernetes ingress.
For other common questions, view this FAQ page.
You can also use Helm to install Emissary. For more information, see the instructions in the Helm installation documentation
Emissary-ingress is a CNCF Incubating project and welcomes any and all contributors. To get started:
If you're interested in contributing, here are some ways:
The Ambassador Edge Stack is a superset of Emissary-ingress that provides additional functionality including OAuth/OpenID Connect, advanced rate limiting, Swagger/OpenAPI support, integrated ACME support for automatic TLS certificate management, and a cloud-based UI. For more information, visit https://www.getambassador.io/editions/.