Loading...
The front door of a Kubernetes cluster, routing outside traffic to the right service.
Quick Definition
An ingress controller is a Kubernetes component that manages external access to services in a cluster, handling routing, load balancing, and TLS termination for incoming traffic. It implements ingress rules, providing a controlled, configurable entry point to cluster workloads
An ingress controller is the component that brings external traffic into a Kubernetes cluster. It reads ingress rules, which map hostnames and paths to internal services, and acts as the smart reverse proxy that enforces them, handling TLS termination, routing, and often rate limiting along the way.
Without an ingress controller, every service that needs to face the internet requires its own cloud load balancer, each billing separately every hour. One controller behind one load balancer can route to dozens of services, which makes it both an architectural simplification and a recurring cost saving.
Example. A platform team replaces 23 separate service load balancers with one NGINX ingress controller. Routing rules live in version-controlled YAML, certificates renew automatically, and the load balancer line on the bill drops by over 90 percent.
Popular choices include NGINX Ingress, Traefik, and cloud-native controllers. Size the controller itself properly; it carries all incoming traffic. The Kubernetes Cost Management Guide and Kubernetes best practices cover the networking layer.
Usually one, in front of the ingress controller. The saving comes from not needing one per service
Ingress is the rule object describing routing. The controller is the software that watches those rules and actually moves traffic.
Yes, with namespaced rules and sensible quotas. Very large clusters sometimes run several controllers for isolation.