An ingress controller manages external access to Kubernetes services by processing Ingress resources, handling TLS termination, path-based routing, and load balancing at the cluster edge.