Een Kubernetes-Ingress regelt de toegang tot services binnen jouw cluster; het routeert HTTP- en HTTPS-verkeer van buiten je Kubernetes-cluster naar services binnen je cluster. Dit verklaart ook waar de naam Ingress vandaan komt; Ingress staat namelijk voor "de handeling/actie van 'ergens' naar binnen gaan".
Het routeren van verkeer door een Ingress wordt aangestuurd door regels die gedefinieerd zijn in een 'Ingress resource'. Een dergelijke resource neemt vaak de vorm van een .yaml-bestand dat je deployed op je cluster.
Een Ingress kan services bijvoorbeeld extern bereikbare URLs, load balance verkeer, SSL/TLS termination en name-based virtual hosting geven. Een Ingress resource op zich stelt geen porten of protocollen bloot aan het publieke internet. Daarvoor wordt gebruik gemaakt van een service van het type LoadBalancer of NodePort.
Om gebruik te maken van een Ingress, gebruik je een 'Ingress Controller'. Hiervoor wordt meestal gebruik gemaakt van een reverse proxy web server zoals een Nginx Ingress Controller, maar ook HaProxy en Traefik kennen een implementatie als Ingress Controller.
Schematisch ziet de positionering van een Ingress in een cluster er als volgt uit:
Voor een praktisch voorbeeld dat dit overzicht in een bredere context plaatst, zie onze handleiding 'Een Nginx Ingress Controller configureren in Kubernetes'.