instruction: Explain Ingress Controllers
output: You are viewing documentation for Kubernetes version: v1.29
  Kubernetes v1.29 documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date information, see the
  latest version.
  Ingress Controllers
  In order for an
  Ingress
  to work in your cluster, there must be an
  ingress controller
  running. You need to select at least one ingress controller and make sure it is set up in your cluster. This page lists common ingress controllers that you can deploy.
  In order for the Ingress resource to work, the cluster must have an ingress controller running.
  Unlike other types of controllers which run as part of the
  kube-controller-manager
  binary, Ingress controllers
  are not started automatically with a cluster. Use this page to choose the ingress controller implementation
  that best fits your cluster.
  Kubernetes as a project supports and maintains
  , and
  nginx
  ingress controllers.
  Additional controllers
  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.
  More information.
  AKS Application Gateway Ingress Controller
  is an ingress controller that configures the
  Azure Application Gateway
  Alibaba Cloud MSE Ingress
  is an ingress controller that configures the
  Alibaba Cloud Native Gateway
  , which is also the commercial version of
  Higress
  Apache APISIX ingress controller
  is an
  Apache APISIX
  -based ingress controller.
  Avi Kubernetes Operator
  provides L4-L7 load-balancing using
  VMware NSX Advanced Load Balancer
  BFE Ingress Controller
  is a
  -based ingress controller.
  Cilium Ingress Controller
  is an ingress controller powered by
  Cilium
  Citrix ingress controller
  works with
  Citrix Application Delivery Controller.
  Contour
  is an
  Envoy
  based ingress controller.
  Emissary-Ingress
  API Gateway is an
  Envoy
  -based ingress
  controller.
  EnRoute
  is an
  Envoy
  based API gateway that can run as an ingress controller.
  Easegress IngressController
  is an
  Easegress
  based API gateway that can run as an ingress controller.
  F5 BIG-IP
  Container Ingress Services for Kubernetes
  lets you use an Ingress to configure F5 BIG-IP virtual servers.
  FortiADC Ingress Controller
  support the Kubernetes Ingress resources and allows you to manage FortiADC objects from Kubernetes
  Gloo
  is an open-source ingress controller based on
  Envoy
  which offers API gateway functionality.
  HAProxy Ingress
  is an ingress controller for
  HAProxy
  Higress
  is an
  Envoy
  based API gateway that can run as an ingress controller.
  HAProxy Ingress Controller for Kubernetes
  is also an ingress controller for
  HAProxy
  Istio Ingress
  is an
  Istio
  based ingress controller.
  Kong Ingress Controller for Kubernetes
  is an ingress controller driving
  Kong Gateway
  Kusk Gateway
  is an OpenAPI-driven ingress controller based on
  Envoy
  NGINX Ingress Controller for Kubernetes
  works with the
  NGINX
  webserver (as a proxy).
  ngrok Kubernetes Ingress Controller
  is an open source controller for adding secure public access to your K8s services using the
  ngrok platform
  OCI Native Ingress Controller
  is an Ingress controller for Oracle Cloud Infrastructure which allows you to manage the
  OCI Load Balancer
  Pomerium Ingress Controller
  is based on
  Pomerium
  , which offers context-aware access policy.
  Skipper
  HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress, designed as a library to build your custom proxy.
  Traefik Kubernetes Ingress provider
  is an
  ingress controller for the
  Traefik
  proxy.
  Tyk Operator
  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
  HAProxy
  Wallarm Ingress Controller
  is an Ingress Controller that provides WAAP (WAF) and API Security capabilities.
  Using multiple Ingress controllers
  You may deploy any number of ingress controllers using
  ingress class
  within a cluster. Note the
  .metadata.name
  of your ingress class resource. When you create an ingress you would need that name to specify the
  ingressClassName
  field on your Ingress object (refer to
  IngressSpec v1 reference
  ingressClassName
  is a replacement of the older
  annotation method
  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
  ingressclass.kubernetes.io/is-default-class
  annotation
  on that IngressClass, with the string value
  "true"
  Ideally, all ingress controllers should fulfill this specification, but the various ingress
  controllers operate slightly differently.
  Note:
  Make sure you review your ingress controller's documentation to understand the caveats of choosing it.
  What's next
  Learn more about
  Ingress
  Set up Ingress on Minikube with the NGINX Controller
  Items on this page refer to third party products or projects that provide functionality required by Kubernetes. The Kubernetes project authors aren't responsible for those third-party products or projects. See the
  CNCF website guidelines
  for more details.
  You should read the
  content guide
  before proposing a change that adds an extra third-party link.
  Was this page helpful?
  Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on
  Stack Overflow
  Open an issue in the
  GitHub Repository
  if you want to
  report a problem
  suggest an improvement
  Last modified December 08, 2023 at 10:58 PM PST:
  Fix Broken voyager link in ingress-controllers.md (6edfcadcd2)