What is the difference between an Ingress and a reverse proxy? What is the difference between an Ingress and a reverse proxy? nginx nginx

What is the difference between an Ingress and a reverse proxy?


You are right in your understanding.Ingress has two parts a controller which implements kubernetes ingress API interface for automated and fast way to configure a reverse proxy such as nginx or envoy.

The other part is the reverse proxy itself such as nginx, envoy.

So when you deploy a ingress setup in kubernetes it will deploy a ingress controller and a reverse proxy in your kubernetes cluster.


There are multiple vendors implementing the IngressController. Even nginx has one.

You are correct about Ingress resource in Kubernetes just acting like a reverse proxy that we used to manually deploy. The IngressController service is the actual reverse proxy which receives the traffic. The kubernetes resource Ingress that you create is like the nginx.conf config file that you would have created. You can create and run your own Ingress by running an nginx deployment, wrap it with a LoadBalancer service and expressing your traffic rules by manually creating nginx.conf file. Using Ingress resource instead is just the native and simpler way to do this in Kubernetes.