$ k8scalc compare nginx ingress haproxy ingress
nginx Ingress vs HAProxy
nginx Ingress Controller vs HAProxy Ingress for Kubernetes — performance, configuration, TCP proxying, and when to choose each for high-traffic or low-latency workloads.
Featurenginx IngressHAProxy Ingress
Protocol support
HTTP/HTTPS/TCP
HTTP/HTTPS/TCP/UDP
Configuration model
Annotations + ConfigMap—
ConfigMap + annotations—
Raw TCP throughput
Very high
Highest
Connection persistence
cookie/ip_hash
Advanced (leastconn, etc.)
Health checks
Standard
Fine-grained (rise/fall)
Resource usage (idle)
~50 MB RAM
~20 MB RAM
Built-in stats UI
No
Yes (stats page)
Documentation
Excellent
Good
Community size
Very large
Smaller
Helm chart quality
Excellent (ingress-nginx)
Good
Let's Encrypt / ACME
Via cert-manager—
Via cert-manager—
WebSocket support
Yes—
Yes—
Verdict
nginx Ingress is the easier choice with better ecosystem support. HAProxy wins at raw TCP performance and fine-grained load balancing control — it's the ingress of choice for financial, gaming, and real-time workloads where sub-millisecond p99 latency matters. For standard HTTP/HTTPS Kubernetes ingress, nginx is simpler. For maximum TCP throughput, connection persistence, or advanced health check logic, HAProxy.