Ingress and Ingress Controller
An Ingress resource defines rules for external connectivity to Kubernetes services. It enables inbound HTTP and HTTPS connections to reach services running within the cluster. Traffic routing is controlled by rules defined on the Ingress resource. For an ingress to be able to run, you need to have a running ingress controller on Kubernetes.
An Ingress controller is responsible for fulfilling the Ingress, usually with a load balancer. It watches for Ingress resources and configures the load balancer accordingly. Different load balancers require different Ingress controller implementations.
Some examples of Ingress controllers include the following:
- NGINX Ingress Controller: Uses NGINX as a load balancer and reverse proxy. It is one of the most common and fully featured controllers.
- HAProxy Ingress Controller: Uses HAProxy for load balancing. Provides high performance and reliability.
- Traefik Ingress Controller: A cloud-native controller...