I have used a few reverse proxies, such as HAProxy, Traefik and Kong. And when I started working with Kubernetes, I was confused by the concept of Ingress. Aren't the routings to back-end resources also achievable via reverse proxies? What is the purpose of using Ingress?