"Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource."
What the latter means, is you need an Ingress controller and some Ingress rules(routing rules to manage external users' access to the services in the cluster) which will be passed to the controller.
⚠️ You must have an Ingress controller to satisfy an Ingress. Only creating an Ingress resource has no effect.
Ingress controllers come in various flavors with different capabilities: Istio, Google Cloud Load Balancer, Nginx, Contour...more ingress controllers here.
In conclusion, Ingress represents a single entry point to your cluster that routes the request to different services and acts as a reverse proxy...usually what happens in the real world it's that the request "hits" a service-mesh via Ingress, a.k.a Ingress through Istio gateways 🤯.