Skip to content

Latest commit

 

History

History
287 lines (196 loc) · 15 KB

implementations.md

File metadata and controls

287 lines (196 loc) · 15 KB

Implementations

This document tracks downstream implementations and integrations of Gateway API and provides status and resource references for them.

Implementors and integrators of Gateway API are encouraged to update this document with status information about their implementations, the versions they cover, and documentation to help users get started.

Implementation Status

Integration Status

Implementations

In this section you will find specific links to blog posts, documentation and other Gateway API references for specific implementations.

Acnodal EPIC

EPIC is a Managed Application & API Gateway Service. The epic-controller installed in the cluster implements v1alpha2 and currently supports HTTPRoute. Defining Gateways and Routes creates a Gateway in the EPIC Service consisting of Envoy instances allocating public IP addresses and DNS for clients, and configures transport that sends request directly upstream to application endpoints in the cluster. EPIC is in public preview.

Documentation can be found at EPIC Application & API Gateway Service

APISIX

Apache APISIX is a dynamic, real-time, high-performance API Gateway. APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.

APISIX currently supports Gateway API v1alpha2 version of the specification for its Apache APISIX Ingress Controller.

Cilium

Cilium is an eBPF-based networking, observability and security solution for Kubernetes and other networking environments. It includes Cilium Service Mesh, a highly efficient mesh data plane that can be run in sidecarless mode to dramatically improve performance, and avoid the operational complexity of sidecars. Cilium also supports the sidecar proxy model, offering choice to users. Cilium is working on a Gateway API implementation.

Cilium is open source and is a CNCF incubation project.

If you have questions about Cilium Service Mesh the #service-mesh channel on Cilium Slack is a good place to start. For contributing to the development effort, check out the #development channel or join our weekly developer meeting.

Contour

Contour is a CNCF open source Envoy-based ingress controller for Kubernetes.

Contour implements Gateway API v0.5.1, supporting the v1alpha2 and v1beta1 API versions. All Standard channel resources (GatewayClass, Gateway, HTTPRoute), plus ReferenceGrant and TLSRoute, are supported. Contour's implementation passes all Gateway API conformance tests included in the v0.5.1 release.

See the Contour Gateway API Guide for information on how to deploy and use Contour's Gateway API implementation.

For help and support with Contour's implementation, create an issue or ask for help in the #contour channel on Kubernetes slack.

Some "extended" functionality is not implemented yet, contributions welcome!.

Emissary-Ingress (Ambassador API Gateway)

Emissary-Ingress (formerly known as Ambassador API Gateway) is an open source CNCF project that provides an ingress controller and API gateway for Kubernetes built on top of Envoy Proxy. See here for more details on using the Gateway API with Emissary.

Envoy Gateway

Envoy Gateway is an Envoy subproject for managing Envoy-based application gateways. The v0.2 release includes support for most v1beta1 Gateway API features and passes core conformance tests included in the v0.5.1 release. Use the quickstart to get Envoy Gateway running with Gateway API in a few simple steps.

Flomesh Service Mesh (FSM)

Flomesh Service Mesh is a community driven Kubernetes North-South traffic manager, and provides an implementation of Ingress controller, Gateway API, Load Balancer, and cross-cluster service registration and service discovery.

The Flomesh.io team is actively working towards an implementation of the Gateway API. You can track progress of this implementation here.

Gloo Edge

Gloo Edge 2.0 is an Istio-native, fully-featured Envoy based API gateway that brings Gloo Edge functionality to Istio. The Solo.io team is actively working towards an implementation of the Gateway API.

Google Kubernetes Engine

Google Kubernetes Engine (GKE) is a managed Kubernetes platform offered by Google Cloud. GKE's implementation of the Gateway API is through the GKE Gateway controller which provisions Google Cloud Load Balancers for Pods in GKE clusters.

The GKE Gateway controller supports weighted traffic splitting, mirroring, advanced routing, multi-cluster load balancing and more. See the docs to deploy private or public Gateways and also multi-cluster Gateways.

HAProxy Ingress

HAProxy Ingress is a community driven ingress controller implementation for HAProxy.

HAProxy Ingress v0.13 partially supports the Gateway API's v1alpha1 specification. See the controller's Gateway API documentation to get informed about conformance and roadmap.

HashiCorp Consul

Consul, by HashiCorp, is an open source control plane for multi-cloud networking. A single Consul deployment can span bare metal, VM and container environments.

Consul service mesh works on any Kubernetes distribution, connects multiple clusters, and Consul CRDs provide a Kubernetes native workflow to manage traffic patterns and permissions in the mesh. Consul API Gateway supports Gatewway API for managing North-South traffic.

Please see the Consul API Gateway documentation for current infomation on the supported version and features of the Gateway API.

Istio

Istio is an open source service mesh and gateway implementation.

A light-weight minimal install of Istio can be used to provide a Beta-quality implementation of the Kubernetes Gateway API for cluster ingress traffic control. For service mesh users, the Istio implementation also lets you start trying out the experimental Gateway API support for east-west traffic management within the mesh.

Much of Istio's documentation, including all of the ingress tasks and several mesh-internal traffic management tasks, already includes parallel instructions for configuring traffic using either the Gateway API or the Istio configuration API. Check out the Gateway API task for more information about the Gateway API implementation in Istio.

Kong

Kong is an open source API Gateway built for hybrid and multi-cloud environments.

Kong supports Gateway API in the Kong Kubernetes Ingress Controller (KIC), see the Gateway API Guide for usage information.

Kong also supports Gateway API in the Kong Gateway Operator.

For help and support with Kong's implementations please feel free to create an issue or a discussion. You can also ask for help in the #kong channel on Kubernetes slack.

Kuma

Kuma is an open source service mesh.

Kuma is actively working on an implementation of Gateway API specification for the Kuma builtin Gateway. Check the Gateway API Documentation for information on how to setup a Kuma builtin gateway using the Gateway API.

LiteSpeed Ingress Controller

The LiteSpeed Ingress Controller uses the LiteSpeed WebADC controller to operate as an Ingress Controller and Load Balancer to manage your traffic on your Kubernetes cluster. It implements the full core Gateway API including Gateway, GatewayClass, HTTPRoute and ReferenceGrant and the Gateway functions of cert-manager. Gateway is fully integrated into the LiteSpeed Ingress Controller.

NGINX Kubernetes Gateway

NGINX Kubernetes Gateway is an open-source project that provides an implementation of the Gateway API using NGINX as the data plane. The goal of this project is to implement the core Gateway API -- Gateway, GatewayClass, HTTPRoute, TCPRoute, TLSRoute, and UDPRoute -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running on Kubernetes. NGINX Kubernetes Gateway is currently under development and supports a subset of the Gateway API.

If you have any suggestions or experience issues with NGINX Kubernetes Gateway, please create an issue or a discussion on GitHub. You can also ask for help in the #nginx-kubernetes-gateway channel on NGINX slack.

Traefik

Traefik is an open source cloud-native application proxy.

Traefik currently supports version v1alpha2 (v0.4.x) of the Gateway API specification, check the Kubernetes Gateway Documentation for information on how to deploy and use Traefik's Gateway implementation.

Traefik is currently working on implementing UDP, and ReferenceGrant. Status updates and documentation will be provided here as the work progresses.

Integrations

In this section you will find specific links to blog posts, documentation and other Gateway API references for specific integrations.

Flagger

Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes.

Flagger can be used to automate canary deployments and A/B testing using Gateway API. It currently supports the v1alpha2 spec of Gateway API. You can refer to this tutorial to use Flagger with any implementation of Gateway API.

cert-manager

cert-manager is a tool to automate certificate management in cloud native environments.

cert-manager can generate TLS certificates for Gateway resources. This is configured by adding annotations to a Gateway. It currently supports the v1alpha2 spec of Gateway API. You can refer to the cert-manager docs to try it out.