This article provides an overview of Kubernetes Ingress, detailing its role in routing external traffic to services within a cluster.
Accessing applications from outside a Kubernetes cluster is essential for serving users at scale. Kubernetes uses an abstraction called Ingress to route external HTTP/HTTPS traffic to services within the cluster. By defining hostname- and path-based rules, Ingress acts as a reverse proxy or load balancer, enabling:
Multiple services under a single IP
SSL/TLS termination at the edge
Name-based virtual hosting
Creating an Ingress resource has no effect until you deploy an Ingress Controller, which watches those resources and configures the edge component—such as NGINX or a cloud load balancer—to implement your routing rules.
Ingress Controllers run as pods in your cluster, providing scalability and self-healing. Many offer SSL/TLS termination, authentication, and DNS integration. Some popular controllers include:
Controller
Features
NGINX Ingress Controller
Widely adopted, rich annotation support
Traefik
Dynamic configuration, Let’s Encrypt
HAProxy Ingress
High performance, advanced routing rules
Cloud platforms like AWS, GKE, and AKS also provide managed controllers that integrate with their load balancers and DNS services.
You can reference another Kubernetes resource (in the same namespace) instead of a service. Mixing service and resource in the same backend is invalid.
Resource backends were supported in earlier APIs (e.g., networking.k8s.io/v1beta1) but are not part of the current networking.k8s.io/v1 spec. Controller support varies.
Centralized traffic management through a single entry point
Simplified certificate handling with edge SSL/TLS termination
Flexible path- and host-based routing for complex architectures
Auto-scaling and high availability via Kubernetes controllers
Native integration with cloud load balancers, DNS, and managed certificates
Ingress gives you powerful, centralized control over external HTTP/HTTPS access to your Kubernetes workloads. Next, we’ll dive into Ingress Controllers and deployment strategies.