Ingress Controllers
Unlike other types of controllers which run as part of the binary, Ingress controllers are not started automatically with a cluster. Use this page to choose the ingress controller implementation that best fits your cluster.
Note: This section links to third party projects that provide functionality required by Kubernetes. The Kubernetes project authors aren’t responsible for these projects, which are listed alphabetically. To add a project to this list, read the content guide before submitting a change.
- AKS Application Gateway Ingress Controller is an ingress controller that configures the .
- Ambassador API Gateway is an -based ingress controller.
- Apache APISIX ingress controller is an -based ingress controller.
- Avi Kubernetes Operator provides L4-L7 load-balancing using .
- The Citrix ingress controller works with Citrix Application Delivery Controller.
- is an Envoy based ingress controller.
- is an Envoy based API gateway that can run as an ingress controller.
- is an Easegress based API gateway that can run as an ingress controller.
- F5 BIG-IP lets you use an Ingress to configure F5 BIG-IP virtual servers.
- Gloo is an open-source ingress controller based on , which offers API gateway functionality.
- HAProxy Ingress is an ingress controller for .
- Istio Ingress is an based ingress controller.
- The Kong Ingress Controller for Kubernetes is an ingress controller driving .
- The NGINX Ingress Controller for Kubernetes works with the webserver (as a proxy).
- Skipper HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress, designed as a library to build your custom proxy.
- The is an ingress controller for the Traefik proxy.
- extends Ingress with Custom Resources to bring API Management capabilities to Ingress. Tyk Operator works with the Open Source Tyk Gateway & Tyk Cloud control plane.
- Voyager is an ingress controller for .
If you do not specify an IngressClass for an Ingress, and your cluster has exactly one IngressClass marked as default, then Kubernetes applies the cluster’s default IngressClass to the Ingress. You mark an IngressClass as default by setting the on that IngressClass, with the string value .
Note: Make sure you review your ingress controller’s documentation to understand the caveats of choosing it.