Emissary-ingress

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.
Branches
(If you are looking at this list on a branch other than main, it
is likely to be wrong.)
-
main: main Emissary-ingress development work (:heavy_check_mark: active development)
-
master: frozen branch for Emissary-ingress 3.10 (:heavy_check_mark: frozen)
-
release/v2.5: frozen branch for Emissary-ingress 2.5 (:heavy_check_mark: frozen)
Building Emissary 4
gmake images should make all the images you need using
goreleaser. Note that .goreleaser.yaml is a
generated file; do not edit it directly. It’s this way so that we
can use the open-source version of goreleaser.
If you want to update the Envoy version, edit the ENVOY_IMAGE value in
the Makefile.
Architecture
Emissary is configured via Kubernetes CRDs, or via annotations on
Kubernetes Services. Internally, it uses the Envoy Proxy to actually
handle routing data; externally, it relies on Kubernetes for scaling and
resiliency.
Getting Started
The fastest way to get started with Emissary is to follow the
Quickstart. For other common questions, check out the Emissary FAQ or
the full Emissary documentation.
Emissary-ingress is a CNCF Incubating project and welcomes any and all
contributors.
At this point, Emissary’s original parent company has stepped back from
direct involvement in the project, so the community is now more
important than ever. As we’ve said at the past few KubeCons, Emissary
needs you.
The best way to join the community is to join the CNCF Slack and hop
into the #emissary-ingress channel. Checking out [open issues] or
[contributing documentation] are both great ways to get started
contributing.
You can also check out the project’s governance documentation:
评论