<p>We are looking at various opensource ingress controllers available for kubernetes and need to chose the best one among all. We are evaluating the below four ingress controllers</p>

<ol>
<li>Nginx ingress controller</li>
<li>Traefik ingress controller</li>
<li>Ha-proxy ingress controller</li>
<li>Kong ingress controller</li>
</ol>

<p>What are the difference between these In terms of features and performance and which one should be adopted in production. please provide your suggestions</p>

<p>One difference I’m aware of, is that haproxy and nginx ingresses can work in TCP mode, whereas traefik only works in HTTP/HTTPS modes. If you want to ingress services like SMTP or MQTT, then this is a useful distinction. </p>

<p>Also, haproxy supports the “PROXY” protocol, allowing you to pass real client IP to backend services. I used the haproxy ingress recently for a docker-mailserver helm chart - <a href="https://hub.helm.sh/charts/funkypenguin" rel="nofollow noreferrer">https://hub.helm.sh/charts/funkypenguin</a></p>
